取消嵌套承諾我剛開始使用NodeJS中的請求和承諾編寫網絡代碼。我希望刪除這些嵌套的承諾,并將它們鏈鎖起來,但是我不確定我將如何實現它/這是否是正確的方法。exports.viewFile = function(req, res) {var fileId = req.params.id;boxContentRequest('files/' + fileId + '/content', req.user.box.accessToken)
.then(function(response) {
boxViewerRequest('documents', {url: response.request.href}, 'POST')
.then(function(response) {
boxViewerRequest('sessions', {document_id: response.body.id}, 'POST')
.then(function(response) {
console.log(response);
});
});
});};這是請求代碼:var baseContentURL = 'https://api.box.com/2.0/';var baseViewerURL = '
function boxContentRequest(url, accessToken) {
return new Promise(function (resolve, reject) {
var options = {
url: baseContentURL + url,
headers: {
Authorization: 'Bearer ' + accessToken,
}
};
request(options, function (err, res) {
if (err) {
return reject(err);
} else if (res.statusCode !== 200) {
err = new Error("Unexpected status code: " + res.statusCode);
err.res = res;
return reject(err);
}
resolve(res);
});
});}function boxViewerRequest(url, body, method) {
});
});}任何見解都將不勝感激。
取消嵌套承諾
交互式愛情
2019-06-17 16:20:55