2015-07-21 708 views
2

如果承諾已經解決,我需要檢查調試目的 - 類似p.isResolved()。無論如何要做到這一點?如何查看Promise的當前狀態?

+0

Promise.state? https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise – shershen

+3

@shershen這不是一個暴露的屬性。 – loganfsmyth

回答

4

觸發日誌當它被解決,或者如果你希望它在其他地方處理髮出事件:

triggerMyPromiseMethod() 
    .then((response) => { 
     console.log('Promise resolved', response) 

     // continue... 
    }) 
    .catch((err) => { 
     console.log('Something went wrong with my Promise', err) 
    }) 
+0

贊同@Claudio Bredfeldt調試你的代碼的唯一方法是使用日誌.. –

+0

所以我明白你的答案是沒有辦法檢查承諾背景下的Promise狀態,對吧? – someone235

+2

「根據設計,承諾的即時狀態和價值不能從代碼同步檢查,而無需調用then()方法。」,MDN Promise文檔 –