Я хочу выполнить синхронную работу с помощью promise
. У меня есть цикл, который передает данные, которые нужно вставить в функцию insert
, и после вставки одной строки я хочу проверить no. строк существует в таблице, поэтому я выполняю операцию select
.
Но проблема в том, что есть 3 записи, тогда она вставляет все 3 записи, после чего моя функция выбора выполняется. то, что я хочу, после того, как вызывается функция выбора одной записи.
вот мой псевдо-код, поскольку весь код включает в себя множество операций
for(var i=0; data.length ; i++){
self.executeFeedbackTrack(data);
}
executeFeedbackTrack:function(callInfo){
var self=this;
return self.insertFeedbackTrack(callInfo).then(function(data){
console.log("insertFeedbackTrack status "+status);
return self.getFeedbackTrack();
});
},
getFeedbackTrack :function(){
return new Promise(function(resolve,reject){
var objDBFeedbackTrack = new DBFeedbackTrack();
objDBFeedbackTrack.selectFeedbackTrack(function(arrayCallRegisters){
if(arrayCallRegisters){
console.log("notification.js no. of feedbacks "+arrayCallRegisters.length);
resolve(arrayCallRegisters.length);
}
});
});
},
insertFeedbackTrack :function(callInfo){
return new Promise(function(resolve,reject){
var objDBFeedbackTrack = new DBFeedbackTrack();
objDBFeedbackTrack.insertFeedbackTrack(callInfo.callNumber,callInfo.callServiceType,function(status){
resolve(status);
$('#loader').hide();
});
});
}