gpt4 book ai didi

javascript - 我应该使用 $q 中的私有(private)属性 $$state 来满足我的需求吗?

转载 作者:行者123 更新时间:2023-12-02 14:15:55 26 4
gpt4 key购买 nike

使用 Angular $q,我问自己是否应该使用 $$state 私有(private)属性来检查 promise 的状态(检查它是否处于待处理状态或已完成状态)。

假设这样的情况:

var promise = undefined;
$scope.click = function(){
if(promise != null && promise.$$state.status === 0)
return;

promise = doAsyncAnimation().then(function(){
console.log('hey, i'm done!');
});
}

这被认为是一种不好的做法吗?它完全可以满足我的需要,而且我不喜欢使用单独的 bool 变量来完成工作。多少符合资格?

最佳答案

$$ 名称前缀指定内部使用的私有(private)属性/服务,如有更改,恕不另行通知。

来自the manual :

Angular Prefixes $ and $$: To prevent accidental name collisions with your code, Angular prefixes names of public objects with $ and names of private objects with $$. Please do not use the $ or $$ prefix in your code

$q 不太可能对 $$state 引入重大更改。然而,它的使用表明 Promise 没有被正确使用。

在这种情况下,它很简单

$scope.click = function(){
if (promise)
return;

promise = doAsyncAnimation().then(function(){
console.log('hey, i\'m done!');
})
.finally(function () {
promise = null;
});
}

关于javascript - 我应该使用 $q 中的私有(private)属性 $$state 来满足我的需求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39042037/

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