gpt4 book ai didi

javascript - 如何从 xml 文件流式传输连续更新

转载 作者:行者123 更新时间:2023-11-28 05:00:45 25 4
gpt4 key购买 nike

示例文件:

<currencies><usd_gbp>0.80</usd_gbp><usd_eur>0.94<usd_eur></currencies>

我有一个 xml 文件 http://somesite.com/curency.xml其中包含货币兑换率。该文件定期更新。我希望一个流在更新发生时实时发出更改。您将如何创建一个实时发出更新的 rx.js 可观察流?

到目前为止,我一直在查看这个示例,但它会立即处理整个文件并结束。 http://schempy.com/2015/10/14/simple_async_with_rxjs/

如何让 Steram 在文件发生更新时发出更新?我是否需要将 apiStream 合并到一个间隔,或者还有其他方法吗?

最佳答案

除非服务器可以向订阅者推送转换率更新通知(例如通过 websocket),否则您将不得不使用常规 HTTP 请求定期轮询 xml 文件以进行更改。

Rx.Observable.interval(500)
.flatMap(() => getConversionRates())
.subscribe(conversionRate => console.log(`conversionRate: ${conversionRate}`));

function getConversionRates() {
// implement logic to do one call to the xml file
// and emit all conversion rates as observable emissions
Return Rx.Observable.from([{ currency: 'usd_gbp', conversion: 0.80}])
}

如果您确实关心完全相同的货币+转换的重复排放,那么您可以使用 .groupBy(x => x.currency) 所有排放与 .distinctUntilChanged() 结合使用

关于javascript - 如何从 xml 文件流式传输连续更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147242/

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