我有一個承諾,即返回數據,我想將它保存在變量中。在JavaScript中這是不可能的,因爲異步性質,我需要使用onResolve
作爲回調嗎?如何從Promise中提取數據
我可以以某種方式使用它(例如,用異步包起來/等待):
const { foo, bar } = Promise.then(result => result.data, errorHandler);
// rest of script
,而不是這個?
Promise.then(result => {
const { foo, bar } = result.data;
// rest of script
}, errorHandler);
注:藍鳥庫是用來代替機實現,我不能承諾變爲asnyc /等待或發電機。
這可能與JavaScript。您可以將承諾成功時收到的數據分配給您之前聲明的變量。而你的變量將具有你從承諾中得到的價值。 您可以參考: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise –
['async/await'](https://tc39.github.io/ ecmascript-asyncawait /)即將到來! –
@SandipNirmal這是可能的,但可能會導致錯誤,因爲JavaScript不會等待Promise解決。還需要將'const'更改爲'let',這會產生副作用。 –