我有一個回傳 Observable 的方法:
clockOut(): Observable<boolean> {
let isClockedOut = new Subject<boolean>();
isClockedOut.next(false);
// Some code to clock out and return x
if (x === true) {
isClockedOut.next(true);
}
return isClockedOut.asObservable();
}
我正在呼叫/訂閱 clockOut() 方法,如下所示:
ngOnInit() {
this.clockOut().subscribe((didClockOut: boolean) => {
if (didClockOut === true) {
// Do stuff
}
});
}
呼叫clockOut() 方法,并且clockOut() 中的代碼正確執行,但沒有呼叫.subscribe 之后的代碼塊。幾乎就像 clockOut() 沒有回傳 Observable 一樣?
我是 Angular 的新手,我對 Observables/Subjects 的作業不多。任何幫助表示贊賞。謝謝!
uj5u.com熱心網友回復:
在subject不老事件回傳新的訂閱,你觸發,下一回可觀察過,所以這些事件尚未認購。
此外,您不需要Subject這里,因為一切都是同步的。
如果你想觸發最后一個事件,你可以使用BehaviorSubject而不是subject
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370247.html
標籤:有角的 rxjs-observables rxjs-订阅
