使用Redux Thunk了解异步调度操作

时间:2019-09-16 20:37:25

标签: reactjs async-await react-redux redux-thunk

我只是浏览了在reactjs应用中调度ACTIONS的文件,并且基本上遇到了以下功能:-

// When app inits
export const init = () => async dispatch => {
  dispatch({ type: TYPES.SET_LOADING });
  await dispatch(getConfig());
  await dispatch(getGenres());
  dispatch({ type: TYPES.REMOVE_LOADING });
};

对于异步在分派之前正在做什么,我有点困惑,我习惯于看到普通的普通javascript异步函数,如下所示:

anasyncfunc = async () => { 
   // write you're code here
}

但是上面的代码使我有些困惑。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:2)

使用await关键字的函数必须标有您在示例中指出的异步标记

anasyncfunc = async () => { 
   // write you're code here
}

在此功能中,我们现在可以使用await,因为它已标记为async

对于重击,我们有效地创建了一个名为init的外部函数,该函数在被调用时将返回一个匿名函数。该匿名函数将接受dispatch作为参数,并使用await关键字,因此需要用async关键字标记。

简而言之,我们实际上只是在创建一个要使用await的函数,因此必须用async标记。

我希望这可以弄清楚。

相关问题