У меня есть приложение angular2, которое добавляет или удаляет элементы из многократного окна выбора и отправляет каждый элемент в удаленный api отдельно для добавления для обработки в базе данных. Следующий метод отправляет запрос на сервер и получает ответ в виде наблюдаемойAngular2 делает несколько запросов, используя rxjs subscribe
removeFromClientLibrary(username: string, roleID: string): Observable<any> {
let body = JSON.stringify({Key: username, Value: roleID});
return this._http.post(this._removeFromLibraryURL, body, this.emsConfig.getStandardHttpHeaders())
.map((res:Response) => <any>res.json());
}
Затем я добавил клиент, чтобы потреблять это, используя метод подписываться потреблять его. Мое понимание состоит в том, что нужно только звонить подписываться один раз, однако я не могу заставить это работать. Единственное, что возвращает правильный результат заключается в Переберите каждый элемент и подписываться несколько раз:
for (let i = 0; i < selected.length; i++) {
this._accountsService.removeFromClientLibrary(this.username, selected[i].RoleID)
.subscribe(status => {
console.log(status);
});
}
Есть ли способ, чтобы потреблять результаты апи, используя rxjs без подписки несколько раз, как описано выше, или в том, что только способ получить данные?
Таким образом, вы хотите получать уведомление только после завершения всех вызовов 'this._accountsService.removeFromClientLibrary'? – martin