코드 아래에이 코드가 있지만 widgetsAddCall이 배열에 추가 되 자마자 실행되고 promise.each는 사용되지 않습니다.Bluebird async series 호출
함수 widgetsAddCall이 API 서버에 비동기 요청을하고 있으며 블루 버드의 약속 된 요청을 반환합니다. 그 API 호출이 차례대로 이루어져서 각 호출이 차례로 데이터 청크를 보내 게하고 싶습니다.
var chunkCnt = Math.ceil(widgetsIds.length/4000);
var responseT = Array();
var Promise = require('bluebird');
for(var cntTemp =0 ; cntTemp<chunkCnt;cntTemp++){
var tempWidgs = widgetsIds.slice(cntTemp,cntTemp+4000);
var query = {
id: tempWidgs.join(',')
};
responseT.push(widgetsAddCall(tempWidgs,query,campRemoteId,campaign));
}
return Promise.each(responseT,function(responses) {
// Use the responses here
return getWidgets(campRemoteId,campaign).then((ids) => {
var toRemove = [];
for(var id of ids){
if(widgetsIds.indexOf(id)===-1){
toRemove.push(id);
}
}
if(toRemove.length) {
return removeWidgets(campaign, campRemoteId, toRemove);
}
});
})
감사합니다. 그냥 Promise.mapSeries를 수정하십시오. –
@SanketMehta - 여기 조금 새로운 것일 수 있습니다.이 질문에 대한 답변이 있으면 여기 왼쪽의 녹색 체크 표시를 클릭하여 커뮤니티에 나타낼 수 있습니다. 그것을 받아 들인다. 이것은 또한 적절한 절차에 따라 평판 포인트를 얻게됩니다. – jfriend00