【发布时间】:2020-10-04 07:34:49
【问题描述】:
我有一个服务可以在https://pokeapi.co/api/v2/pokemon/ 调用PokéAPI。
如果您没有指定要返回的 Pokemon,API 将返回一个分页的资源列表,其中包含 Pokemon 的 URL。
https://pokeapi.co/docs/v2#pokemon-section
我想将该 URL 列表存储在我的服务的本地数组中。
我试过了:
getListOfPokemonUrls(): Observable<any> {
return this.http.get<any>(this.pokeApiUrl)
.pipe(
map((response: any[]) => this.pokemonResources = response.results)
);
}
在我的构造函数中(用于测试目的):
const y = this.getListOfPokemonUrls();
但是,当我跳过该函数时,this.pokemonResources 数组为空。
【问题讨论】:
-
希望您已完成 y.subscribe 以调用 API。由于 api 调用是异步的,因此跨步函数不会填充所需的数组。您应该在地图运算符中放置一个断点。
-
@user2216584 即使这样做:``` const y = this.getListOfPokemonUrls(); y.订阅(); ```如果我链接 .subscribe -
this.getListOfPokemonUrls().subscribe();,我的本地数组this.pokemonResources仍然是空的,y 是不可观察的类型订阅者,但在我的数组中存储数据仍然没有运气
标签: angular rxjs angular-http