Я хочу, чтобы цикл через объект, который содержит функции, которые будут выполняться один за другим. Моим самым идеальным подходом было бы иметь такую цепочку как-то (то есть func2
ждет func1
и func3
ждет func2
), но это должно произойти динамически, и все функции будут иметь разные длительности.Вызов нескольких функций последовательно с jquery
Я использую jQuery, поэтому я подумал, что, возможно, «queue()» может помочь, но я не очень много работал с ним.
A main concern
не должен добавлять никаких областей/обратных вызовов к функциям внутри объекта. Я бы предпочел каким-то образом заключить их в родительскую функцию для выполнения в цикле, чтобы создать обратный вызов/цепочку.
Вот пример того, что у меня есть сейчас, но ошарашен. Спасибо за любую помощь!
var obj = [
{'name':'func1','callback':function(){ alert(1); }},
{'name':'func2','callback':function(){ alert(2); }},
{'name':'func3','callback':function(){ alert(3); }}
];
$.each(obj, function(x, el) {
el.callback();
});
Я не следую. Правильно ли введен «obj», или он неправильно структурирован? Что именно не так с вышеуказанным кодом (кроме того, что три функции тривиальны)? –
Проблема в том, что функции выполняются асинхронно, а не один за другим. Я также не буду знать, сколько функций находится внутри объекта, поэтому я не хочу/не могу статически связать их вместе. – darcy
Нет, они этого не делают. В приведенном выше коде они гарантированы в порядке. –