我们可以在asyncThunk中访问请求的响应而不需要选择器,也不需要通过redux工具包中的store或state来传递吗

ryevplcw  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(97)

我想知道在redux工具包中是否有可能访问asyncThunk的请求响应,而无需通过store或state或selector。有时我们想使用从一个请求中接收到的数据来执行另一个请求。因此,我们可以在不等待状态或存储更新并且不使用useEffect的情况下获得响应请求。
我的意思是在另一个请求中使用从asyncThunk接收到的响应,类似于这样:const {id} =等待分派(getTest())
dispatch(getTestResultById(id))

mkh04yzy

mkh04yzy1#

是的,如果第一个动作是异步动作/形实转换程序,那么它可以被等待。Redux Toolkit thunks * always * resolve,所以一定要打开返回的resolved Promise,看看操作是否成功。
示例如下:

const handler = async () => {
  try {
    const { id } = await dispatch(getTest()).unwrap();

    dispatch (getTestResultById(id));
  } catch(error) {
    // handle rejected Promise or any thrown exceptions
  }
};

字符串
有关更多详细信息,请参见处理Thunk结果。

相关问题