У меня есть такой метод обслуживания:
updateUser(article) {
this.httpClient
.put(`articles/${article.id}`, article)
.pipe(
map(res => res.response),
mergeMap(updatedArticle =>
this.articlesTagsAPI.someMethod(updatedArticle.id).pipe(
map(tags => ({ ...updatedArticle, tags })),
article.articleType === 'news'
? mergeMap(() =>
this.articlesTagsAPI.someOtherMethod(updatedArticle.id, article.tags).pipe(
map(() => {
return {
...updatedArticle,
tags: article.tags
};
})
)
)
: null
)
)
);
}
, как вы можете видеть - я пытаюсь добавить условное mergeMap
(если условие -> вызвать еще один метод), можно ли это сделатькак-нибудь?
, потому что возвращать ноль - не лучшая идея
что-то подобное должно произойти, если условное выражение недопустимо:
updateUser(article) {
this.httpClient
.put(`articles/${article.id}`, article)
.pipe(
map(res => res.response),
mergeMap(updatedArticle =>
this.articlesTagsAPI.someMethod(updatedArticle.id).pipe(
map(tags => ({ ...updatedArticle, tags }))
)
)
);
}