【问题标题】:How to turn it into a Promise?如何把它变成一个承诺?
【发布时间】:2019-02-04 17:12:21
【问题描述】:

我有这个 ajax 调用,我需要把它变成一个承诺。

function myRest(url, method, callback){
    return $.ajax({
        url : url,
        type : method,
        dataType: "json",
        contentType: "application/json",
        success: function(results){
            //things to do in case of success
                    },
        error: function (){
          //things to do in case of error           
}
    });
}

如果成功,我如何也使用 .then() 方法? 谢谢

【问题讨论】:

  • 你不必任何东西变成承诺。您返回的$.ajax() 已经一个承诺。只需使用.then(…, …)就可以了。

标签: javascript ajax promise


【解决方案1】:

我有这个 ajax 调用,我需要把它变成一个承诺。

$.ajax() 已经返回了一个承诺。您可以在上面使用.then(),返回承诺并摆脱回调。你不需要“把任何事情变成承诺”。这已经是一个承诺。您可以像这样使用现有的承诺:

function myRest(url, method) {
    return $.ajax({
        url : url,
        type : method,
        dataType: "json"
    });
}

myRest(...).then(function(results) {
    // success
}, function(jqXHR, textStatus, errorThrown) {
    // error
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    相关资源
    最近更新 更多