gpt4 book ai didi

javascript - jQuery 3.0 promise

转载 作者:行者123 更新时间:2023-11-30 16:16:20 25 4
gpt4 key购买 nike

您如何看待以下内容?

var starter;
starter = $.Deferred();

starter.then(function () {
console.log('promiseOne done');
});

starter.resolve();

var now=new Date().getTime();
var stop=now+5000;
while (stop>new Date().getTime()){}
console.log('main thread finished');

在 jQuery-1.11.1 中,我们得到:

promiseOne done
main thread finished

这是显然是错误的,在 jQuery 3.0 中,我们得到:

main thread finished
promiseOne done

这正是我们所期望的,因为 promise 回调是异步执行的

但是,通过将 .then 替换为 .done,在这两种情况下我都会得到:

promiseOne done
main thread finished

这是怎么回事? 这仍然是 jQuery 3.0 的错误还是 .done 回调是同步执行的?

最佳答案

除非为了适本地终止 promise 链,否则你不应该使用 .done.done 未在 Promises/A+ 中指定,因此没有相关问题。

为了 fix inherent problems 异步执行 promise 回调。在之前的设计中。

关于javascript - jQuery 3.0 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482524/

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