猿问

Promise Chaining 未按预期工作

我正在尝试对我从我的角度应用程序进行的 $http.get 调用使用承诺链接


$http.get(url, config)

    .then(newViewRequest)

    .then(function (response) { // success async

        $scope.viewRequest1.data = response.data;

    }

在我的 newViewRequest 中,我对其他端点进行了新的调用,如果 newViewRequest 中的调用成功,我只需要发回响应。以下是我正在尝试的


var newViewRequest = function (response) {

    var url1 = $rootScope.BaseURL;

    var config = {

        headers: {

            'Authorization': `Basic ${$scope.key}`,

            'Prefer': 'odata.maxpagesize=2000'

        }

    }; 


    var newresponse = $http.get(url1, config);

    if (newresponse.status = 200)

        return newresponse;

    else return response;

};

但它总是发送请求响应而不验证状态或任何东西。我该如何解决这个问题。


qq_笑_17
浏览 134回答 1
1回答

明月笑刀无情

将$http.get在newViewRequest返回的承诺。您需要等待它解决才能获得状态。并且您必须返回 PromisenewViewRequest以进行正确的链接。return $http.get(url1, config).then(newresponse => {  if (newresponse.status = 200)    return newresponse;  else return response;}).catch(err => {  return response;})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答