Так вот мы некоторые приложения на основе CompoundJS рамок и некоторый контроллер на нем:Каков правильный способ вызова «render» после всех асинхронных исполнений в контроллере?
load('application');
action('index', function() {
someMethodWithAsyncCallback({}, function() {
/* async preparing some params for template */
});
anotherMethodWithAsyncCallback({}, function() {
/* async preparing another params for template */
});
// another couple of async calls
// rendering index template
render('index', { /* using async params */ });
});
Возникает вопрос: как сделать шаблон index
после окончания всех обратных вызовов?
Возможно, есть что-то вроде jQuery's $.when
, описанного в this answer?
Я уверен, что вы хотите иметь предредукцию в строке 'if (asyncCounter--> 0)'. В противном случае 'render' никогда не будет вызываться (если вы не используете вводящее в заблуждение начальное значение для' asyncCounter'). –
Вы правы. Исправлено. –