Javascript 承诺状态有什么象征吗?
由于有一个名为Javascript 承诺状态有什么象征吗?,javascript,promise,ecmascript-next,Javascript,Promise,Ecmascript Next,由于有一个名为Promise.allsolited的程序,我感兴趣的是根据Promises解析的状态执行一些代码逻辑 例如: 如您所见,我使用一个静态值来比较promises的解析状态brands.status==“failed” 你可以说我是偏执狂,但是JavaScript是如何发展的,这个值将来可能会改变,我更喜欢不那么静态的东西 我的问题是:是否有任何Symbol.PromiseRejected | Symbol.PromiseResolved或封装承诺解决方案的相关内容 你可以称我为偏执
Promise.allsolited
的程序,我感兴趣的是根据Promises解析的状态执行一些代码逻辑
例如:
如您所见,我使用一个静态值来比较promises的解析状态brands.status==“failed”
你可以说我是偏执狂,但是JavaScript是如何发展的,这个值将来可能会改变,我更喜欢不那么静态的东西
我的问题是:是否有任何Symbol.PromiseRejected | Symbol.PromiseResolved
或封装承诺解决方案的相关内容
你可以称我为偏执狂,但JavaScript如何演变这个值在未来可能会改变
不,不会的。JS将(需要)保持向后兼容,这永远不会改变。也没有理由重命名.status
属性,类似这样的结果对象(或迭代器结果对象等)的属性名称不会与任何新的内容发生冲突
我的问题是:是否有任何Symbol.PromiseRejected | Symbol.PromiseResolved
或封装承诺解决方案的相关内容
不,没有。反正它们不是符号
如果你是绝对偏执狂,你可以在任何地方控制结果对象的形状,或者你可以编写isRejected(result)
和isCompleted(result)
帮助函数来调用任何地方,以便在不太可能发生的事情发生变化时,你只需要更改一行代码
Promise.allSettled([
callApi("http://example.com/wishlist"),
callApi("http://example.com/brands")
])
.then(([wishlist, brands]) => {
if(brands.status === "failed"){
notifyMe()
}
})