Rxjs中的全局变量用法/响应式编程/可观察到的redux

问题描述 投票:1回答:1

假设我正在编写如下的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事件在事件发射时生成,并将其传递给响应和错误捕获块

谢谢!

javascript redux rxjs reactive redux-observable
1个回答
0
投票

不确定我是否理解问题,但如果每次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))
            )
        })
    )
}

© www.soinside.com 2019 - 2024. All rights reserved.