gpt4 book ai didi

javascript - 延迟-代码与失败/完成一起使用,但不与 then 一起使用

转载 作者:行者123 更新时间:2023-12-03 08:04:44 25 4
gpt4 key购买 nike

我有一个名为 func1 的函数,它正在调用 var dfd = $.ajax 并返回 dfd.promise() ,现在在我的main 函数,我有这样的代码:

function addOperation() {
var addPromise = func1();
addPromise.then(
function(sender, args, msg) {
alert("success");
},

function() {
alert("fail");
});
}

上面的代码不起作用,对我有用的是:

function addOperation() {
var addPromise = func1();
addPromise.fail(
function(sender, args, msg) {
alert("fail");
})
.done(
function() {
alert("success");
});
}

根据我的理解,then(functionSuccess, functionFail) 与在原始 Promise 上调用 .done 和 .fail 相同,不是吗?我对此迷失了。

最佳答案

你不应该从你的函数返回dfd.promise()$.ajax的返回值 promise 。

直接返回dfd(或者$.ajax的结果)

docs说得最好:

The jqXHR objects returned by $.ajax() as of jQuery 1.5 implement the Promise interface, giving them all the properties, methods, and behavior of a Promise (see Deferred object for more information). These methods take one or more function arguments that are called when the $.ajax() request terminates

关于javascript - 延迟-代码与失败/完成一起使用,但不与 then 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com