promise的弊端


promise的弊端

promise徹底解決了callback hell,但也存在以下一些問題

 

  1. 延時問題(涉及到evnet loop)(http://www.ruanyifeng.com/blog/2014/10/event-loop.html))

  2. promise一旦創建,無法取消

  3. pending狀態的時候,無法得知進展到哪一步(比如接口超時,可以借助race方法)

  4. promise會吞掉內部拋出的錯誤,不會反映到外部。如果最后一個then方法里出現錯誤,無法發現。(可以采取hack形式,在promise構造函數中判斷onRejectedCb的數組長度,如果為0,就是沒有注冊回調,這個時候就拋出錯誤,某些庫實現done方法,它不會返回一個promise對象,且在done()中未經處理的異常不會被promise實例所捕獲)

  5. then方法每次調用都會創建一個新的promise對象,一定程度上造成了內存的浪費

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM