gpt4 book ai didi

javascript - Angular 2/4 尝试通过调用 javascript 数组对象来获取 Observable - 进行订阅

转载 作者:行者123 更新时间:2023-12-01 03:10:00 24 4
gpt4 key购买 nike

我有一个服务文件,我试图将其设置为 observable ,其中包含一个我想要订阅它的组件。但它不起作用,我做错了什么?

服务:Tracker.service.ts

getAllCoins(): (Observable<string>) {   //<Response> {
return allC
.map(res => JSON.stringify(res))
//.do(data => console.log('coins ' + JSON.stringify(data)))
//.catch(this.handleError)
}

我的函数,其中的这个可观察值不喜欢
以前我使用了真实的 URL,并且使用了 http.get FYI,并且它有效(尽管编码不同)

我的 JSON 数据:

const allC =
[{
"BTC": {
"USD": 3349.1
},
"ETH": {
"USD": 296.3
},
"LTC": {
"USD": 47.56
},
"EOS": {
"USD": 1.83
},
"DASH": {
"USD": 195.83
}
}]

接下来我设置组件并尝试订阅它。

组件文件

coinsList = [];

constructor(
private coinService: TrackerService
) {
this.coinService.getAllCoins()
.subscribe(
(data) => {
for (let key in data) {
this.coinsList.push({ coinName: key, price: data[key].USD});
}
},
(error) => console.log('error :' + error)

);
}

最佳答案

Previously i used a REAL URL and I used http.get FYI and that worked ( coded differently though)

这是因为 http.get 将返回一个 Observable。

<小时/>

Array.mapObservable.map 运算符不同。

  • Array.map 将返回一个数组,参见 here
  • Observable.map 将返回一个 Observable。

您应该首先使用Observable.of(arr)来提供一个Observable。

Observable.of(allC)

关于javascript - Angular 2/4 尝试通过调用 javascript 数组对象来获取 Observable - 进行订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com