此問題旨在成爲規範問題/答案;請參閱What is a canonical question/answer, and what is their purpose?。這裏沒有明確的答案。代替以前在這裏發佈問題的問題。如果問題已經被回答,將刪除當前的問題。如果不使用Promise對象的then方法,是否無法從Promise對象獲取[[PromiseValue]]?
Promises/A+的規範在point-2狀態
甲承諾表示異步 操作的最終結果。與承諾互動的主要方式是通過 其
then
方法,該方法記錄回調以接收承諾的最終價值或履行承諾的原因,因爲承諾的履行不會達到 。
在comment在這個問題return value from Promise OP詢問
權,但不稱取數值超出承諾的,還是應該 我接受,這是不可能的從瀏覽器?
到迴應
猶豫說明什麼是 「不可能的」。
然後提供指向的鏈接,Promises,You're Missing the Point of Promises。
是不可能得到[[PromiseValue]]
從Promise
對象,比console.log(promiseObject)
查看對象的屬性值等,不使用Promise
對象的then
方法?
什麼是[[PromiseValue]]?你的意思是[[PromiseResult]]?參見[Promise Instances的屬性](http://www.ecma-international.org/ecma-262/7.0/#sec-properties-of-promise-instances) – Oriol
@Oriol不確定內部屬性;使用術語「財產」,因爲在這裏缺乏對「財產」的準確描述;在您嘗試使用的瀏覽器中以[[PromiseResult]]實現。在鉻52,該屬性被實現爲[[PromiseValue]]。例如,'console.log(Promise.resolve(「abc」))'。 – guest271314
沒有什麼可以說承諾如何存儲PromiseResult,我相信,這取決於實踐。它可以作爲外部代理人可以直接訪問的公開訪問的屬性進行存儲(假設他們有其他方式知道該承諾已經實現)。但是,由於除了'.then()'之外並沒有標準的方式來知道什麼時候該承諾被履行,並且在那裏提供了結果,所以似乎沒有任何意圖試圖以任何其他方式訪問該值。 – jfriend00