gpt4 book ai didi

angularjs - 如何检查 Angular $q promise 是否已解决

转载 作者:行者123 更新时间:2023-12-03 05:10:00 26 4
gpt4 key购买 nike

据我了解,在使用 Promise 时,通常只需附加带有 then() 调用和链行为的延续代码。

但是,我想启动一个 Promise 包装的异步调用,然后单独启动一个 3 秒的 $timeout() ,这样我就可以执行 UI 操作,前提是原始 Promise 有尚未完成。 (我预计这种情况只会发生在慢速连接、3G 移动设备等情况下)

给定一个 Promise,我可以在不阻塞或等待的情况下检查它是否完成吗?

最佳答案

我猜这是在 Angular 的最新版本中添加的,但现在 promise 中似乎有一个 $$state 对象:

 var deferred = $q.defer();
console.log(deferred.promise.$$state.status); // 0
deferred.resolve();
console.log(deferred.promise.$$state.status); //1

正如评论中所述,不建议这样做,因为升级 Angular 版本时可能会损坏。

关于angularjs - 如何检查 Angular $q promise 是否已解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17885979/

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