我只是浏览了在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
}
但是上面的代码使我有些困惑。有人可以向我解释一下吗?
答案 0 :(得分:2)
使用await
关键字的函数必须标有您在示例中指出的异步标记
anasyncfunc = async () => {
// write you're code here
}
在此功能中,我们现在可以使用await
,因为它已标记为async
。
对于重击,我们有效地创建了一个名为init
的外部函数,该函数在被调用时将返回一个匿名函数。该匿名函数将接受dispatch
作为参数,并使用await
关键字,因此需要用async
关键字标记。
简而言之,我们实际上只是在创建一个要使用await
的函数,因此必须用async
标记。
我希望这可以弄清楚。