gpt4 book ai didi

javascript - 在 rxjs 可观察链中传递复合数据

转载 作者:数据小太阳 更新时间:2023-10-29 04:06:49 26 4
gpt4 key购买 nike

我有一段代码,我在其中调用链中的可观察对象,如下所示:

getData().flatMap(results => {
return callNextDataMethod(results);
}
.flatMap(results2 => {
// next operation and so forth
})

现在,我明白 flatMap 将允许我将前一个 observable 的结果传递给下一个。然而,我需要的是既要做到这一点,又要首先传递结果。假设我对 getData 中返回的数据进行了一些清理、验证等操作,并且我希望将其传递给链下的所有 flatMap 调用。 rxjs 中是否有运算符可以为我执行此操作?

谢谢

最佳答案

您可以使用 map 运算符将 flatMap 投影函数接收的参数与 observable 的结果结合起来:

getData()
.flatMap(data =>
getMoreData(data).map(moreData => ({ data, moreData }))
)
.flatMap(({ data, moreData }) =>
getEvenMoreData(moreData).map(evenMoreData => ({ data, moreData, evenMoreData }))
)
.flatMap(({ data, moreData, evenMoreData }) =>
...

关于javascript - 在 rxjs 可观察链中传递复合数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598605/

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