Yield inside .then 承诺响应函数抛出错误

Yield inside .then function of promise response throws error

以下代码抛出错误:

  syncData().then((x) => yield put(loginUserSuccess(responseData)));

错误:关键字 'yield' 已保留。

sync data处理异步的fetch操作data.I想用yield put(sagas.js提供)在sync数据执行后触发login user success的action

syncData函数核心如下:

  export default async function syncData(dataType) {
      await Promise.all([syncData1(), syncData2()]);
  }

尝试像这样分离它,使用 call 效果,然后使用 put 效果:

try {
  const res = yield call(syncData) 

  yield put(loginUserSuccess(res))

} catch(e) {

  yield put(loginUserFail(e))

}