gpt4 book ai didi

javascript - 如何在延迟解决后延迟执行 promise

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

我使用 Angular $q 创建一个延迟对象,如下所示:

var defer = $q.defer();
var promise = defer.promise;

setTimeout(function(defer){
defer.resolve("nothing");
},2000,defer);

promise.then(function(){
//code here
});

所以promise中的代码会延迟2秒,但是我想知道如何在defer解析后延迟代码执行,这样我就可以像这样延迟代码执行:

promise.delay(1000);

当我从 $http.post() 得到 promise 时

var promise = $http.post()...;
promise.then(function(){
// code
});

由于 Promise 已解决,因此如何延迟代码执行。

最佳答案

您应该使用$timeout而不是 setTimeout,它也具有已经返回 promise 的好处。

要仅在初始 Promise 解决后才开始延迟,只需将其放入 then 回调中即可:

promise.then(function(){
return $timeout(2000)
}).then(function(){
//code here
});

关于javascript - 如何在延迟解决后延迟执行 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113218/

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