如果不使用 Promise 对象的 then 方法,是否不可能从 Promise 对象获取 [[PromiseValue]] ? [复制]

2024-06-19

该问题旨在成为规范的问题/答案;看什么是规范问题/答案,其目的是什么? https://meta.stackoverflow.com/q/291992。这里没有明确的答案。我在此发布问题,以代替之前提出和回答的问题。如果问题已得到解答,将删除当前问题。


The 承诺/A+ https://promisesaplus.com/规格在point-2 https://promisesaplus.com/#point-2 states

A promise表示异步的最终结果 手术。与 Promise 交互的主要方式是通过 它是then方法,它注册回调以接收 承诺的最终价值或承诺不能实现的原因 实现了。

At a comment https://stackoverflow.com/questions/41190820/return-value-from-promise/41191820?noredirect=1#comment69595163_41191820在这个问题上Promise 的返回值 https://stackoverflow.com/questions/41190820/return-value-from-promiseOP问

是的,但这是否会剥夺承诺的价值,或者应该 我承认这在浏览器中是不可能的?

对此作出回应

犹豫是否要说出“不可能”的事情。

接下来提供规范的链接,Promises https://www.promisejs.org/, 你错过了承诺的重点 https://gist.github.com/domenic/3889970#youre-missing-the-point-of-promises.


是不是不可能得到[[PromiseValue]] from a Promise对象,除了查看对象的属性值之外console.log(promiseObject),不使用Promise对象的then method?


在 ES7 中不可能。承诺的价值存储在[[PromiseResult]] 内部槽 http://www.ecma-international.org/ecma-262/7.0/#sec-properties-of-promise-instances:

承诺已履行或拒绝的价值,如果 任何。仅当 [[PromiseState]] 不存在时才有意义"pending".

该插槽仅在然后履行承诺 http://www.ecma-international.org/ecma-262/7.0/#sec-performpromisethen抽象操作,仅通过以下方式公开Promise.prototype.then http://www.ecma-international.org/ecma-262/7.0/#sec-promise.prototype.then.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果不使用 Promise 对象的 then 方法,是否不可能从 Promise 对象获取 [[PromiseValue]] ? [复制] 的相关文章

随机推荐