【发布时间】:2016-03-21 01:08:23
【问题描述】:
在尝试使用 AngularJS 连续发出两个 http 请求后,我没有得到第二个 http 请求的响应。
我有这个代码:
createBucket: function (bucketKey, policyKey) {
// get token from json file
return $http({
url: tokenUrl
})
.then(function (response) {
token = response.data;
console.log('refreshing access token');
console.log(token);
})
.then(function (response) {
// use token to create new bucket
$http({
method: 'POST',
headers: {
"Authorization": token.token_type + " " + token.access_token
},
url: "https://developer.api.autodesk.com/oss/v2/buckets",
data: {
"bucketKey": bucketKey,
"policyKey": policyKey
}
});
}).then(processResponse);
},
首先我做了一个 http 请求来获取一个 json 文件。然后使用这个json文件中的信息,我又做了一个http请求,这个请求的结果我想返回。在这个最终代码中:
// Send the data part of the response
function processResponse(response) {
console.log('response:');
console.log(response);
return response.data;
}
这里的响应是undefined..我不知道为什么...
【问题讨论】:
-
在链接到
processResponse函数之前,您需要返回第二个promise。
标签: javascript angularjs json http promise