首頁  >  文章  >  web前端  >  為什麼使用 Promise .then 方法進行回調是一個壞主意?

為什麼使用 Promise .then 方法進行回調是一個壞主意?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-16 09:03:02709瀏覽

Why are Callbacks with Promise .then Methods a Bad Idea?

使用帶有Promise .then 方法的回調帶來的不良後果

尋求一種更優化的方法來管理非同步操作,開發人員可能會偶然發現以下建議:在AngularJS 服務中使用回呼函數。然而,此類做法值得仔細審查,因為它們可能會導致不良結果。

在提供的程式碼片段中,tokenService 在其 getTokens 方法中使用回調來處理 HTTP 請求的結果。然而,這種方法有一些缺點:

  • 流程中斷:它阻礙了成功和失敗處理程序的無縫連結。
  • 控制反轉: 它將回應處理的控制從呼叫者轉移到被呼叫模組,可能導致混亂。
  • 不一致的 Promise:雖然程式碼包含了 Promise,但回呼仍用於處理回應,造成認知失調。

Promise 的重建-面向處理

為了修正這個問題,程式碼應該重新設計以完全擁抱 Promise 的非同步特性。在修訂版本中, getTokens 方法只傳回一個Promise,呼叫者可以在自己的then 方法中使用該Promise:

以Promise 為中心的設計的好處

與基於回調的方法相比,這種方法具有許多優勢方法:

  • 增強流程:操作可以更有效地連結在一起,確保邏輯和簡化的執行流程。
  • 清晰度:回應處理的責任仍然由呼叫者承擔,從而消除了
  • 一致性: Promise 在整個程式碼庫中一致使用,促進理解和可維護性。

透過了解使用帶有 Promise .then 方法的回呼的缺點並採用更面向承諾的方法,開發人員可以顯著改進他們的非同步程式碼處理實踐。這會帶來更清晰、更易於管理的程式碼,從而增強開發人員體驗並促進更易於維護且無錯誤的程式碼庫。

以上是為什麼使用 Promise .then 方法進行回調是一個壞主意?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn