您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么从Promise`.then`中进行回调是一种反模式

为什么从Promise`.then`中进行回调是一种反模式

代码可以按如下方式重构:

app.controller('tokenCtrl', function($scope, tokenService) {
    tokenService.getTokens.then ( callbackFn(tokens) {
        $scope.tokens = tokens;
    });
});

app.factory('tokenService', function($http) {
    var getTokens = function() {
        //return promise
        return $http.get('/api/tokens').then (function onFulfilled(response) {
                //return tokens
                return response.data;
            }
        );
    };

    return {
        getTokens: getTokens
    };
});

通过使服务返回承诺,并使用承诺的.then方法,可以实现相同的功能,并具有以下好处:

Promise可以保存并用于 。

可以保存承诺并用于避免重复同一$http呼叫。

错误信息将保留并可以通过该.catch方法检索。

承诺可以转发给其他客户。

其他 2022/1/1 18:13:45 有636人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶