0
我想處理多個承諾,在下面的例子中,kouta API返回多個網站,然後我想循環訪問網站以逐個獲取類別。在for循環中處理多個承諾與錯誤處理
節點代碼:
request({
url: 'https://cbatest.kounta.com/v1/companies/20155/sites.json',
headers: header_data,
json: requestData,
method: 'GET',
}, function (err, response, body) {
var site_list = body;
//res.send(site_list);
var promises = [];
for (let i = 0; i < site_list.length; i++) {
var cat_list = new Promise(function (resolve, reject) {
var site_id = site_list[i].id;
var category_arr = [];
request({
url: 'https://cbatest.kounta.com/v1/companies/20155/sites/' + site_id + '/categories.json',
headers: header_data,
json: requestData,
method: 'GET',
}, function (err, response, body) {
var category_list = body;
resolve(category_list);
});
});
cat_list.then(function (result) {
promises.push(result);
console.log(promises);
res.send(promises)
}).catch(function (err) {
console.log(err);
})
}
});
問題:的console.log(承諾);只適用於最後一個id,res.send(promises);只工作一次。我錯過了什麼?
在此先感謝。