gpt4 book ai didi

javascript - Rxjs多订阅者查询

转载 作者:行者123 更新时间:2023-11-27 22:50:10 24 4
gpt4 key购买 nike

我有一项服务返回一个 token 的 Observable,并且许多订阅者调用该服务并尝试获取该 token 。如果内存中已经有 token ,我就返回它,如果没有 - 发出新请求,保存 token 并返回 Observable 这个 token 。

同时多次调用服务的问题。因此,其中一些订阅者收到了不同的代币。也许 RxJ 中存在某种方式,可以在首先等待响应并向所有订阅者发送值之后为每个请求创建一些查询?

我将非常乐意提供任何帮助。谢谢。

最佳答案

使用publishLast创建一次可观察对象,使其“可共享”。即使 token 已经可用,也要将此 observable 提供给所有调用者。

var _tokenObservable;
var _subscription;
getToken() {
if (!_tokenObservable) {
// first time in, create the observable
_tokenObservable = makeCallToGetTokenObservable().publishLast();
// start the request
_subscription = shared.connect();
}
return _tokenObservable;
}

关于javascript - Rxjs多订阅者查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38120779/

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