gpt4 book ai didi

javascript - 使用 RXJS 从函数调用中生成流

转载 作者:行者123 更新时间:2023-11-29 19:12:25 25 4
gpt4 key购买 nike

我的问题很简单,但在 RXJS 的不同教程之后我找不到答案。我有一个商店,其中我有一个调用服务器的函数,这个函数是从我的组件中调用的,在启动时和稍后需要更新时调用。我希望该函数是一个 Observable,因为 fromEvent 用于从 HTML 元素观察键盘或鼠标事件。

我怎样才能将该函数转换为在每次调用时返回 promise 的 Stream。

this.getData(args) <Promise>

问题是,我希望我的商店订阅该流并在每次 getData 调用时更新我的​​应用程序状态,看起来像这样。

this.getData.flatMap(promise => promise)
.subscribe(result => this.state.data = result)

最佳答案

好的,我找到了我要找的东西,这对任何 RXJS 的愚蠢初学者来说都很方便

每当您想观察对特定函数的调用时,将其包裹在 Rx.observable.create 中,如下所示

Rx.Observable.create(obs=>{
this.getRestaurant = (variableString, variables, fragments) => {
const query = this.getQuery(variableString, fragments)
obs.onNext(graphQLFetcher({query: query, variables: variables}))
}
})
.flatMap(promise => Rx.Observable.fromPromise(promise))
.subscribe(result => {
console.log(result)
});

现在您有一个基于 this.getRestaurant(args) 调用的不错的流。

关于javascript - 使用 RXJS 从函数调用中生成流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37794969/

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