在ajax和jquery中的承诺和推迟

时间:2014-08-27 06:44:37

标签: promise jquery-deferred

这是我需要的示例功能,是否可能?我在调试时遇到问题 在进行任何其他修改之前我需要运行这两个函数怎么做?

function getPromise() {
    var deferred = $.Deferred();


    $.when(getPromiseother()).done(function() {
        deferred.resolve();
    });

    deferred.getPromiseother()
}

function getPromise() {
    var deferrednext = $.Deferred();


    $.when($.ajax(somefunction)).done(function() {
        deferrednext.resolve();
    });

    deferrednext.promise()
}
$.when(getPromise).done(function() {
    do something
});

1 个答案:

答案 0 :(得分:0)

这是一种非常笨拙的方式 - 基本上承诺的一个主要方面是它们构成并链接,并且您不需要$.Deferred任何不转换回调API的地方承诺。

$.when($.ajax(somefunction), someOtherPromise).then(function(result, other){
   // in here both promises have run to fulfillment and data is available
   // so place the rest of your code here
});