【发布时间】:2016-12-23 19:54:38
【问题描述】:
我对使用 RxJS 时 subscribe() 方法中的 done 函数有疑问。
我的应用程序有一个代码:
ngOnInit() {
this._dictionaryService.loadDictionary()
.subscribe(
dictionary => this.dictionary = dictionary,
error => this.errorMessage = <any>error,
this.loadQuestion);
}
它不起作用。 但是如果改变
this.loadQuestion);
到
() => this.loadQuestion());
一切正常。
所以,这段代码:
ngOnInit() {
this._dictionaryService.loadDictionary()
.subscribe(
dictionary => this.dictionary = dictionary,
error => this.errorMessage = <any>error,
() => this.loadQuestion());
}
效果很好。
this._dictionaryService.loadDictionary() 从文件中获取 JSON 数据。
this.dictionary 是一个类属性。
当我尝试在第一个示例中评估此属性时,我得到一个未定义的。
但在 2ns 示例中一切正常。
所以,它有效,但我不明白其中的区别。我不明白为什么 1s 的例子不起作用。
有人可以解释一下吗?
【问题讨论】:
标签: angular typescript rxjs observable subscribe