У вас проблема с последовательностью вызова Asynchronous
.Вы выполняете код сообщения об успехе, прежде чем получите ответ.
Просто внесите следующее изменение
объявите на уровне класса
public numOfSuccessfulRequests = 0;
Изменение в вызове API
this.checkedItems.forEach((checkedItem, index) => {
apiCall(checkedItem.record.id, 'active').first().subscribe(
() => {
this.numOfSuccessfulRequests++;
//Display message for last API call
if(this.checkedItems.length == index){
this.showSuccessMessage();
}
},
() => {
this._notification.error("A request failed");
}
);
});
}
Создать функцию для отображения сообщения
showSuccessMessage(){
if (this.numOfSuccessfulRequests === 1) {
this._notification.success(`A request was successful`);
} else if (numOfSuccessfulRequests > 1) {
this._notification.success(`There were ${numOfSuccessfulRequests} successful requests`);
}
}