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()
    }
})