私はこのボタンをクリックした後、2つの異なる関数を実行するこの関数を持っています。 2番目の機能は前の機能に由来します。Typescriptと約束を使用して互いに隣り合った関数を実行する方法
processPayment(){
console.log("payment called", this.registrationList);
this.registerLoading.present().then(() => {
//function1
this.sendRegistration().then(data => {
this.registerLoading.dismiss();
this.paymentLoading.present().then(() => {
//function 2
this.sendPayments().then (data => {
this.paymentLoading.dismiss();
this.nav.popToRoot();
this.doAlert("Event Registration & Payments successful");
});
});
});
});
}
機能1:
sendRegistration(){
return new Promise(resolve => {
for(let registration of this.registrationList){
//codes removed for simplification
this.eventsService.postRegistration(eventRegistration)
.then(data => {
console.log("called", data);
this.invoices.push(data.Invoice.Id);
});
}
});
}
機能2:
sendPayments(){
return new Promise(resolve => {
//codes removed for simpplication
});
}
私はそれを順次実行するように見えるが、最初の関数は全く終了されていないので、私が見る傾けることを確認することができますが2回目の実行。
あなたは「最初の関数は、すべてで終わるされていません」と言います。 'console.log(" data "と呼ばれる)が決して起こらないということですか?それは実際には関数コード、 '//単純化のために削除されたコード'に関連していますか? – enkryptor