Chcę wykonać synchroniczne działanie funkcji przy użyciu promise
. Mam pętlę, która przekazuje dane do wstawienia do funkcji insert
i po wstawieniu jednego wiersza chcę sprawdzić nr. wierszy istnieje w tabeli, dlatego wykonuję operację select
.sekwencyjne wywołanie za pomocą obietnicy wewnątrz pętli
Ale problem polega na tym, że jeśli są 3 rekordy, wstawi wszystkie 3 rekordy, a następnie moja funkcja wyboru zostanie wykonana. to, czego chcę, to po wywołaniu wstawienia jednej funkcji wyboru rekordu.
tutaj jest mój pseudo kod jak cały kod obejmuje wiele operacji
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();
});
});
}
Proszę zobaczyć dostarczoną odpowiedź. –