我已经定义了一个行为主题:
component.ts
bsub1: BehaviorSubject<Array<any>> = new BehaviorSubject(null);
并在其上调用next():
html:
<button (click) = getData()>Data</button>
component.ts:
getData() {
getSomething(value, bsub1);
}
service.ts
getSomething(value, _observable) {
//do something
_observable.next(retun)
somevariable.map(p => {
return { "a": value1, "b": value2 }
});
}
并进行了订阅:
component.ts
ngOnInit() {
bsub1.subscribe(list=>{
console.log("subscribed to bsub1")
});
}
但是在调用getSomething()之后,我的代码没有达到订阅状态。 当组件加载时,它到达那里,但是之后调用next()时,它不订阅。 仅在IE 11中会发生这种情况,而在edge,chrome和firefox中会起作用。
有人可以向我解释这种行为吗?