在Angular 2中的Observable中获取数据后的队列/回调函数

时间:2016-05-04 16:57:31

标签: javascript typescript angular typescript1.8

我试图在从服务获取数据后排队或创建回调函数,但该函数似乎是异步调用的。我希望在获取数据后调用该函数,因为该函数需要Observable中的数据。到目前为止,这不起作用,因为在将所有数据分配给this.items之前调用该函数:

this._itemsService.getItems().subscribe(items => this.items = items, err => {}, callThisFunctionAfter());

有没有办法将函数转换为回调或队列,就像承诺一样?

1 个答案:

答案 0 :(得分:1)

你需要使它成为闭包而不是函数调用。

this._itemsService.getItems().subscribe(items => this.items = items, err => {}, () => callThisFunctionAfter());

如果没有() =>,则调用该函数,并将结果作为回调传递。

这是callThisFunctionAfter()subscribe()之前执行的原因,而不是在observable关闭时执行的原因。