2017-09-21 18 views
1

私はPromise関数を使用してajax呼び出しを容易にしています。私がコンソールに 'value.bal'値をログすると、その関数内の期待値がコンソールに表示されますが、console.logを返すと、その関数の外に 'オブジェクトPromise'が返されます。私は何が欠けていますか?Promise.then javascriptから値を返すことができません

var promiseObject = SomefullfilledPromise; 
    var result = promiseObject.then(function(value){ 
     console.log(value.bal); //expected value 
     return value.bal; 
    }); 
    console.log(result); //'object Promise' 
+0

)(あなたは.thenにこの約束の結果にアクセスすることができます約束を返すだけではなく、anonymusを作るの呼び出し機能で、その後使用。 –

+0

操作の順番は、コードはconsole.logに移動する前に終了するという約束を待たずに、ログに記録しているオブジェクトは未解決の約束である –

+0

関連:[単にコールバックを約束していませんか?](https:///stackoverflow.com/questions/22539815/arent-promises-just-callbacks) – NieDzejkob

答えて

2
var result = promiseObject.then(function(value){ 
     console.log(value.bal); //expected value 
     return value.bal; 
    }); 

.then((val) => { 
    console.log(val) 
}) 
+0

ありがとうございます。それは私が持っているものの ".then"部分を繰り返すだけです。問題は、残りのコードで使用するpromiseオブジェクトから "value.bal"を取り出すことができないことです。 – AppreciateCo

+0

@AppreciateCoそれはあなたがするはずのものではない – NieDzejkob

+0

非同期コードに同期してアクセスすることはできません。変数を解決するか、コールバックで渡す必要があります – marvel308

関連する問題