相关疑难解决方法(0)

RxJS - 如何共享昂贵的 observable 的输出,但如果在 N 秒后再次请求它,则重新运行该 observable?

假设我们有这个全局常量:

const isSignedIn = fromPromise(fetch('/api/is-signed-in'))
    .pipe(throttleTime(1000), shareReply(1));
Run Code Online (Sandbox Code Playgroud)

页面加载后,几个组件会同时订阅这个:

isSignedIn.subscribe(() => console.log('do 1st'));
isSignedIn.subscribe(() => console.log('do 2nd'));
isSignedIn.subscribe(() => console.log('do 3rd'));
Run Code Online (Sandbox Code Playgroud)

以上只会调用 API 一次,但是如果另一个组件订阅它,我需要它再次调用 API(即 1 秒后)。

isSignedIn.subscribe(() => console.log('button press'));
Run Code Online (Sandbox Code Playgroud)

我如何使用 RxJS?

javascript typescript rxjs6

6
推荐指数
1
解决办法
1193
查看次数

标签 统计

javascript ×1

rxjs6 ×1

typescript ×1