この質問は標準的な質問/回答を意図しています。 What is a canonical question/answer, and what is their purpose?を参照してください。決定的な答えはありません。以前に尋ねられ、質問された質問の代わりに質問を投稿しています。質問に既に回答している場合は、現在の質問を削除します。 point-2状態Promiseオブジェクトのthenメソッドを使用せずに[PromiseValue]をPromiseオブジェクトから取得することはできませんか?
約束で
Promises/A+仕様は、非同期 操作の最終的な結果を示します。約束と対話する主な方法は、 約束の最終的な値または約束を にすることができない理由のいずれかを受け取れるようにコールバックを登録する、の
then
メソッドです。 commentで
この質問にreturn value from Promise OPは右
を要求するが、それは約束のうちの値をとらない、または 私は、これはブラウザから不可能であることを受け入れる必要がありますか?
"不可能" であるものを述べることを躊躇
を対応するためにどの。仕様、Promises、You're Missing the Point of Promisesへのリンクを提供することによって、続い
。
それはPromise
オブジェクトのthen
メソッドを使用せずに、console.log(promiseObject)
でオブジェクトのプロパティ値を表示する以外のPromise
オブジェクトから[[PromiseValue]]
を取得することは不可能ですか?
[[PromiseValue]]とは何ですか? [[PromiseResult]]を意味しますか? [Promiseインスタンスのプロパティ](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