嗨,我是 Angular 新手。
我不知道为什么我不能在我的 Observable 中设置新值
我的代码:
resultJob: Observable<any> = Observable.of("PENDING");
ngOnInit() {
this.resultJob.subscribe(result => {
result.next("SUCCESS")
result.complete()
})
}
此代码返回
result.next is not a function
最佳答案
Observable 上没有 next() ;仅在 Subject 和 BehaviorSubject 上,它们扩展了 Subject(并且都扩展了 Observable)。
你需要做的是:
resultJob: Subject<string> = new BehaviorSubject<string>("PENDING");
与 Subject 相比,BehaviorSubject 使用在流中推送的第一个值进行初始化。这似乎是你想要做的。
结果也是字符串类型,而不是 Observable 类型。您想在 resultJob 上调用 next(),而不是在 result(流中的元素)上调用。但我不明白你为什么在订阅中这样做。您将通过这种方式获得循环调用:您在流中推送一个新元素,并通过推送另一个元素来对其检测使用react,依此类推......
关于angular - Observable.next() 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50099517/