可以使用RxJS的Observable来先执行第一个rest调用,然后根据其结果来执行第二个rest调用。示例代码如下:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { switchMap } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class MyService {
constructor(private http: HttpClient) { }
myMethod(): Observable {
return this.http.get('firstUrl').pipe(
switchMap((resultFromFirstCall) => {
// process the result from the first call and return the second call
return this.http.get('secondUrl');
})
);
}
}
在上面的示例中,我们定义了一个名为myMethod
的方法,它返回一个Observable
。该方法使用HttpClient
执行两个rest调用。在第一个调用中,我们传递了一个URL地址给get
方法,然后使用pipe
方法来处理其响应。我们使用switchMap
来将第一个调用的响应映射到第二个调用上。在switchMap
的回调中,我们可以将第一个调用的结果进行处理,然后返回第二个调用的Observable
。
这样,我们就能在Angular中创建一个包含两个rest调用的方法,其中第二个调用依赖于第一个调用的结果。
上一篇:包含两个列表的字典
下一篇:包含连字符的软件包名称