如何把它变成一个承诺?

时间:2018-08-29 20:18:02

标签: javascript ajax promise

我有这个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()方法? 谢谢

1 个答案:

答案 0 :(得分:-1)

  

我有这个ajax通话,我需要将其变成一个承诺。

$.ajax()已返回承诺。您可以仅在其上使用.then(),返回promise并摆脱回调。您无需“将任何事情变成诺言”。这已经是一个承诺。您可以像这样使用现有的承诺:

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

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