假设我正在编写如下的rxjs史诗:
const epic = (action$) => {
const id = nanoid(); # function that generate uuid
return action$.pipe(
switchMap(action => doApiCall(id)).pipe(
map(response => response.data)
map(response => addToast(id)),
catchError(error => addErrorToast(id))
)
)
}
由于此史诗将在史诗中间件中链接,因此不会在每次发出事件时都生成uuid
应该如何使nanoid事件在事件发射时生成,并将其传递给响应和错误捕获块
谢谢!
不确定我是否理解问题,但如果每次action$
发出信号时都想要一个新的id值,则可以这样操作:
const epic = (action$) => {
return action$.pipe(
switchMap(action => {
const id = nanoid(); // function that generate uuid
return doApiCall(id).pipe(
map(response => response.data),
map(response => addToast(id)),
catchError(error => addErrorToast(id))
)
})
)
}