我正在嘗試在加載 5 秒后關閉彈出視窗,但訂閱在此之前完成,所以我想在加載的變數為 true 時取消訂閱
this.closed = false;
this.loaded$.subscribe(loaded => {
if (loaded) {
setTimeout(() => {
this.modalService.dismissActiveModal();
}, 5000);
}
}).unsubscribe();
}
uj5u.com熱心網友回復:
this.closed = false;
// define the subscription
const subscription: Subscription = this.loaded$.subscribe(loaded => {
if (loaded) {
setTimeout(() => {
this.modalService.dismissActiveModal();
subscription.unsubscribe(); // unsubscribe here
}, 5000);
}
});
這個怎么樣?
uj5u.com熱心網友回復:
this.closed = false;
this.loaded$
.pipe(
filter(loaded => loaded),
switchMap(_ => interval(5000)),
take(1),
tap(_ => this.modalService.dismissActiveModal())
)
.subscribe();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390668.html
標籤:javascript 有角的 打字稿 可观察的 退订
上一篇:一一觀察RxJS
