0
Есть ли способ создать обещание/выполнение при запросе элементов/узлов? Это не работает, потому что я получаю el
undefined
в итераторе var completed = elements.every(function(el) { if (el.nodeType === 1)
. Кроме того, из-за неопределенного обещания не отвергается.Собственная версия браузера для группы запрашиваемых элементов
Нет JQuery, пожалуйста
var initialize = new Promise(function(resolve, reject) {
rippleElement = document.getElementById('ripple-element');
toolbar = document.querySelector('#main-toolbar');
headerName = document.getElementById('name-title');
panel = document.querySelector('paper-header-panel[main]');
drawer = document.querySelector('paper-drawer-panel');
mainPanelContent = document.getElementById('mainPanelContent');
//elements is not routing list, routing list is elementList
var elements = [rippleElement, toolbar, headerName, panel,
drawer, mainPanelContent];
var completed = elements.every(function(el) {
if (el.nodeType === 1) {
return true;
} else {
return false;
}
});
if (completed) {
resolve();
} else {
var errMsg = 'error in querying elements';
reject(errMsg);
}
});
Почему вы не добавить, если (эл! == неопределенный && el.nodeType === 1)? иначе я не понимаю ваш вопрос. – Ludo
Насколько я понимаю, вы хотите дождаться загрузки элементов до того, как будет оценено обещание .... в этом случае дождаться события готовности дома, чтобы элементы загружались в dom до запуска скрипта ... –
Я искал лучший способ, чем обрабатывать 'undefined', но это работает. Я использую полимер, который не является нормальным домом. – dman