Я пытаюсь сделать 2 HTTP-запроса и в первом вызове пытаюсь создать запись, а затем по ее результатам (ответ от метода API) хочу выполнить или пропустить второй вызов, который обновляет другие данные. Однако, хотя я могу поймать ошибку в блоке catchError
, я не могу получить ответ в методе switchMap первого вызова. Итак, что не так с этой реализацией в соответствии с данным сценарием? И как я могу получить ответ первого результата и продолжить или нет второй вызов в соответствии с этим первым ответом?
let result;
let statusCode;
this.demoService.create(...).pipe(
catchError((err: any) => { ... }),
switchMap(response => {
// I am trying to get the response of first request at here
statusCode = response.statusCode;
if(...){
return this.demoService.update(...).pipe(
catchError((err: any) => { ... }),
map(response => {
return {
result: response
}
}
)
)}
}
))
.subscribe(result => console.log(result));
switchMap
? Вы не можете прочитать свойствоstatusCode
? Выдает какую-то ошибку? Вы уверены, что свойство доступно в ответе? Пожалуйста, дополните. - person Michael D   schedule 15.11.2020switchMap
не выполняет другие, но если ошибки нет, я могу захотеть сломаться в соответствии со значениями ответа). Конечно, мне также нужно получить ответ на второй звонок. - person Prag Dopravy   schedule 15.11.2020tap(response => { console.log(response); debugger; }),
, но код не попал туда и попал в блокswitchMap
(после этого он все еще не попал в блок tap()). Итак, есть ли ошибка в моем использовании? - person Prag Dopravy   schedule 15.11.2020tap
, но ответ равен нулю, даже если есть ответ от первого вызова. - person Prag Dopravy   schedule 15.11.2020catchError
. Если ошибки нет, я не могу получить ответ (это будет код состояния и т. д.) в блокеtap
и т. д. - person Prag Dopravy   schedule 15.11.2020switchMap
и т.д. Любое предложение будет оценено. - person Prag Dopravy   schedule 15.11.2020switchMap
блок, а в другом комментарии говорится Я не могу получить ответ. - person Michael D   schedule 15.11.2020iif
, но ничего не мог понять в документах. У вас есть идеи, как применить это к моему сценарию в моем вопросе? Не могли бы вы применить и опубликовать код в качестве ответа? - person Prag Dopravy   schedule 15.11.2020