我无法理解以下代码:
var x = $.ajax({
url : "sample_url",
dataType : "json",
data : {
"invalidate_cache" : true
}
});
现在,如果我这样做
var y = x.then();
它返回与x 相同的函数。 如果按以下方式分配 x 会有什么不同(除了在 ajax 成功返回期间打印“Hello 1”):
var x = $.ajax({
url : "sample_url",
dataType : "json",
data : {
"invalidate_cache" : true
}
}).then(function(data){console.log("Hello 1")};
最佳答案
两者都是 ajax
和 then
函数会给你一个 promise 。我不想解释整个 promise 机制,而是回答问题,第一个和第二个之间的区别 x
是第一个将在 ajax
之后立即执行调用 resolve 而第二个将在 then
中指定为参数的函数之后解析函数被执行(注意 then
函数将在 ajax
调用解析后执行...这称为链接)。
关于javascript - 了解 $.ajax() 和 $.ajax().then 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35892097/