next.js repository中的示例显示了我们如何将根史诗转换为Promise,因此可以像requestAccess
那样await
异步操作:
ajax
我想知道如何static async getInitialProps ({ store, isServer }) {
const resultAction = await rootEpic(
of(actions.fetchCharacter(isServer)),
store
).toPromise() // we need to convert Observable to Promise
store.dispatch(resultAction)
return { isServer }
}
不止一次行动。我设法这样做了:
await
...但我想知道每次调用const actions = await Promise.all([
rootEpic(of(fetchCharacterOne()), store).toPromise(),
rootEpic(of(fetchCharacterTwo()), store).toPromise(),
rootEpic(of(fetchCharacterThree()), store).toPromise(),
]);
actions.forEach(store.dispatch);
是否有更简单的方式 - 我的意思是用三个动作来等待一次。
答案 0 :(得分:0)
我在universal-rxjs-ajax文档中意外地找到了答案。这就是我要找的代码:
const initialData$ = of(
fetchCharacterOne(),
fetchCharacterTwo(),
fetchCharacterThree(),
);
const actions = await rootEpic(initialData$, store)
.pipe(toArray()) // buffers all emitted actions until Epic completes
.toPromise();
actions.forEach(store.dispatch);