我只是想知道如果JavaScript承諾內部使用回調。它是避免毀滅金字塔並使代碼整潔的規範嗎? (它內部做的回調的東西?)承諾內部工作
Q
承諾內部工作
1
A
回答
1
當然,它使用「回調」的意義上說,它調用一個函數傳入.then(callback)
,但承諾不僅僅是一個回調。它
- 處理異常,並拒絕「理性」與
.then(onFulfilled, onRejected)
- 的
onRejected
部分是可鏈接的,即.then().then().then()...
這使得「回調」很組合的
一切你可以用一個承諾去做,你也可以做一個回調,但承諾的確有時候更容易閱讀,維護,並且避免了你提到的「厄運金字塔」。
相關問題
- 1. 承諾內承諾
- 2. 承諾解決不工作
- 3. 承諾鏈如何工作?
- 4. 貓鼬承諾不工作
- 5. 得到承諾不工作
- 6. 承諾解決之前內部承諾解決
- 7. 如何拒絕承諾內的承諾
- 8. 解決承諾內的多重承諾
- 9. 鏈接承諾內的承諾然後()
- 10. 從承諾內部返回解決Observable
- 11. 內部可信返回承諾
- 12. 未執行cron作業內的承諾
- 13. 承諾拒絕失敗,承諾承諾
- 14. 承諾中的承諾承諾
- 15. 如何使承諾在IE11中工作
- 16. 爲什麼我的承諾不工作?
- 17. 不要工作功能與承諾
- 18. 返回Pase.Query.each承諾()不工作
- 19. BluebirdJS承諾jQuery不能正常工作
- 20. Android工作室不承諾GitHub
- 21. 承諾鏈不按預期工作
- 22. 承諾後自動部署
- 23. 回覆承諾的承諾
- 24. NodeJS:承諾內的回調
- 25. 承諾的空白內容?
- 26. 使用Navigator.getUserMedia()作爲承諾。
- 27. AngularJS承諾不起作用
- 28. 作爲承諾包裝socket.on
- 29. 表達res.send作爲承諾
- 30. NodeJS - Q - 如何在另一個承諾中承諾承諾
我認爲這取決於瀏覽器。爲什麼它很重要? – llamerr
'var myPromise = function(){ return { then:function(handler){ var data = 100; handler(data); } }; }'... [Demo](https://jsfiddle.net/rayon_1990/4dqkzzaa/) – Rayon
我想你是在談論一些被稱爲「回撥地獄」的東西。這是我對承諾的最喜歡的文章之一,它正確地談論了承諾的這個方面:https://blog.domenic.me/youre-missing-the-point-of-promises/ – Herku