Из того, что вы говорите, я предполагаю, что вы используете В конце концов , поэтому я процитирую из В конце концов, учебник для начинающих :
Асинхронная функция является главной звездой, который в этом случае делает запрос Ajax (но он может делать все, что захочет).Еще одна важная вещь, на которую следует обратить внимание, это то, что первым аргументом асинхронной функции является обратный вызов, который вы используете, чтобы сообщить Evently, когда вы закончите с асинхронным действием.[...] Все, что вы передаете в функцию обратного вызова, становится первым элементом, переданным в функцию данных.
Короче говоря: поместите ваши запросы Ajax в async.js
.
В качестве примечания: В конце концов, это только один из возможных вариантов написания коуч-приложения, и неясно, поддерживается ли оно.Однако это работает, и код легко изменить, чтобы он не использовался.
РЕДАКТИРОВАТЬ: Вот пример асинхронной функции (вырезать и вставить из старой программы):
function(cb, e) {
var app = $$(this).app
;
app.db.openDoc('SOMEDOCID', {
error: function(code, error, reason) {
alert("Error("+code+" "+error+"): "+reason);
}
, success: function(doc) {
app.view('SOMEVIEWNAME', {
include_docs: true
, error: function(code, error, reason) {
alert("Error("+code+" "+error+"): "+reason);
}
, success: function(resp) {
resp.doc = doc;
cb(resp);
}
});
}
});
}