gpt4 book ai didi

javascript - RxJS - Epic 只读取 1 个 Promise

转载 作者:行者123 更新时间:2023-12-02 22:07:50 24 4
gpt4 key购买 nike

我有一部史诗。我想传递 2 个 HTTP Get 请求。它们都是基于 Promise 的。但它只带来第一个处理的数据。史诗:

const processorsListEpic = (action$, store, deps) =>
action$.ofType(Type.LIST_ATTEMPT).pipe(
switchMap(() =>
observableFromHttpPromise(
deps.getList(store), // This bring data
deps.getTargets(store) // This doesn't
).pipe(
mergeMap((listResult, targetResult) => {
console.log('Target:', targetResult.data);
console.log('List', listResult.data);
return of(
R.mergeAll(
Actions.ListSuccess(listResult && listResult.data),
Actions.TargetsSuccess(targetResult && targetResult.data)
)
);
}),
catchError(error => of(Actions.ListFailure(error)))
)
)
);

函数observableFromHttpPromise如下:

// From is from rxjs
export const observableFromHttpPromise = promise => from(promise);

有什么想法吗?如果我更改请求的顺序,其他数据就在那里..

最佳答案

试试这个

observableFromHttpPromise(Promise.all(
deps.getList(store),
deps.getTargets(store),
))

关于javascript - RxJS - Epic 只读取 1 个 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com