在Angular2中无序调用的方法。如何正确订阅?

时间:2016-05-31 20:30:36

标签: typescript angular

我在Angular2中使用Typescript。我已使用以下代码订阅了http请求的响应:

search(searchTerm): void {
   this._webservice.getSearchResult(searchTerm).subscribe(results => this.results = results);
   this.callThisMethod();
}

我想要发生的是更新this.results的值,然后在变量更新后调用this.callThisMethod()this.callThisMethod()被称为无序。如何在更新变量后运行方法?

1 个答案:

答案 0 :(得分:2)

一旦响应可用,将异步调用Observable的订阅,而不是同步。如果您只想要调用this.callThisMethod(),则需要将其作为异步回调的一部分来执行:

search(searchTerm): void {
   this._webservice.getSearchResult(searchTerm)
       .subscribe(results => { 
           this.results = results;
           this.callThisMethod();
       });
}