AngularJS 中的回调反转:反模式
在 AngularJS 中,将回调函数传递给返回 Promise 的服务是常见的做法。但是,这种方法可能会引入反模式并阻碍 Promises 的好处。
反模式示例:
考虑以下代码,其中 getTokens 服务接受回调函数:
... getTokens: function(callbackFn) { $http.get('/api/tokens').then (function onFulfilled(response) { callbackFn(response.data); }); } ...
这种方法有几个缺点:
最佳实践重构:
要解决此反模式,重构代码如下:
... getTokens: function() { return $http.get('/api/tokens'); } ...
在调用模块中,使用返回的Promise来处理结果:
yourModule.getTokens() .then(function(response) { // handle it });
最佳实践的好处:
采用这种最佳实践有几个优点:
以上是你应该在 AngularJS Promise 中使用回调吗?的详细内容。更多信息请关注PHP中文网其他相关文章!