使用带有 Promise .then 方法的回调带来的不良后果
寻求一种更优化的方法来管理异步操作,开发人员可能会偶然发现以下建议:在 AngularJS 服务中使用回调函数。然而,此类做法值得仔细审查,因为它们可能会导致不良结果。
在提供的代码片段中,tokenService 在其 getTokens 方法中使用回调来处理 HTTP 请求的结果。然而,这种方法存在一些缺点:
重构面向 Promise 的处理
要纠正这个问题,应该重新设计代码以完全拥抱 Promise 的异步特性。在修订版本中, getTokens 方法仅返回一个 Promise,调用者可以在自己的 then 方法中使用该 Promise:
var getTokens = function() { return $http.get('/api/tokens'); };
yourModule.getTokens() .then(function(response) { // handle it });
以 Promise 为中心的设计的好处
与基于回调的方法相比,这种方法具有许多优势:
通过了解使用带有 Promise .then 方法的回调的缺点并采用更加面向 Promise 的方法,开发人员可以显着改进其异步代码处理实践。这会带来更清晰、更易于管理的代码,从而增强开发人员体验并促进更易于维护且无错误的代码库。
以上是为什么使用 Promise .then 方法进行回调是一个坏主意?的详细内容。更多信息请关注PHP中文网其他相关文章!