我需要进行异步调用和同步调用,当两个调用结束时,我需要调用另一个函数。我为此目的使用JQuery。当我进行多个异步调用时,这个函数工作正常但是当我进行同步调用时,我得到错误。我正在使用下面的代码来拨打电话。
var requestTwo = function() {
var v = 10;
var j = 20;
var k = v + j;
};
$.when($.get(url, function (result, status, xhr) {
myresult = result;
})),
(requestTwo).then(function (r1, r2) {
//DO something
});
我收到以下错误:
JavaScript runtime error: Object doesn't support property or method 'then'
答案 0 :(得分:1)
您不需要$.when
进行同步函数调用,只需调用它们
$.get(url, function (result, status, xhr) {
var myresult = result;
requestTwo();
// DO something here, it's synchronous and single threaded,
// so the function will be finished
});
答案 1 :(得分:0)
据我所知,你的第二个论点是'当'功能必须是一个承诺。看这里http://learn.jquery.com/code-organization/deferreds/#promises。它似乎是你的代码中的拼写错误