Angular 如何将阵列转换为角度为10的可观测阵列?
我正在做一个来自双子座比特币websocket的简单数据显示。我可以订阅websocket并在订阅功能中处理传入的消息。这一切都按预期进行。dataFromMessages在处理新消息时更改值 让消息中的数据成为可观察数据的下一步是什么? 我知道如果它是可观察的,那么我可以在html中使用“| async”。或者我可以订阅可观察的。但我不知道如何让它成为可观察的。是否使用or()函数 输出.component.tsAngular 如何将阵列转换为角度为10的可观测阵列?,angular,typescript,observable,angular-observable,Angular,Typescript,Observable,Angular Observable,我正在做一个来自双子座比特币websocket的简单数据显示。我可以订阅websocket并在订阅功能中处理传入的消息。这一切都按预期进行。dataFromMessages在处理新消息时更改值 让消息中的数据成为可观察数据的下一步是什么? 我知道如果它是可观察的,那么我可以在html中使用“| async”。或者我可以订阅可观察的。但我不知道如何让它成为可观察的。是否使用or()函数 输出.component.ts import { Component, OnInit } from '@angu
import { Component, OnInit } from '@angular/core';
import { UserWebsocketService } from '../services/user-websocket.service';
export class OutputComponent implements OnInit{
dataFromMessages;
constructor(private websocket: UserWebsocketService){}
ngOnInit(): void {
this.websocket.connect('wss://api.gemini.com/v1/marketdata/btcusd')
.subscribe(message => this.process_message(message));
}
process_message(message){
// *** do processing here with incoming message object***
this.dataFromMessages = processed_data;
}
}
output.component.html
<table>
<thead>
<tr> <th>Bid</th> <th>Ask</th> </tr>
</thead>
<tbody>
<tr *ngFor="let item of dataFromMessages">
<td>{{ item.bid }}</td>
<td>{{ item.ask }}</td>
</tr>
</tbody>
</table>
招投标
{{item.bid}
{{item.ask}
将消息中的数据初始化为可观察的
dataFromMessages$: Observable<any>;
并在process_message
方法中返回已处理的消息
process_message(message){
// *** do processing here with incoming message object***
return processed_data;
}
在模板中使用异步管道订阅和读取数据
<tr *ngFor="let item of dataFromMessages$ | async">
<td>{{ item.bid }}</td>
<td>{{ item.ask }}</td>
</tr>
{{item.bid}
{{item.ask}
将消息中的数据初始化为可观察的
dataFromMessages$: Observable<any>;
并在process_message
方法中返回已处理的消息
process_message(message){
// *** do processing here with incoming message object***
return processed_data;
}
在模板中使用异步管道订阅和读取数据
<tr *ngFor="let item of dataFromMessages$ | async">
<td>{{ item.bid }}</td>
<td>{{ item.ask }}</td>
</tr>
{{item.bid}
{{item.ask}
您应该将dataFromMessages声明为所需类型的可观察数据。
然后在ngOnInit()中,在管道中使用rxjs map()操作符进行处理并返回它。在这里,您可以使用消息“normal”,管道完成后,它将是一个可观察的转换,使用您在管道内使用的操作符
然后在HTML中使用异步管道
{{item.bid}
{{item.ask}
dataFromMessages$:可观察;
ngOnInit():void{
dataFromMessages$=this.websocket.connect('wss://api.gemini.com/v1/marketdata/btcusd)。烟斗(
映射(消息=>{
//在这里做我的量子物理和信息处理
返回处理后的数据;
})
);
}
您应该将dataFromMessages声明为所需类型的可观察数据。
然后在ngOnInit()中,在管道中使用rxjs map()操作符进行处理并返回它。在这里,您可以使用消息“normal”,管道完成后,它将是一个可观察的转换,使用您在管道内使用的操作符
然后在HTML中使用异步管道
{{item.bid}
{{item.ask}
dataFromMessages$:可观察;
ngOnInit():void{
dataFromMessages$=this.websocket.connect('wss://api.gemini.com/v1/marketdata/btcusd)。烟斗(
映射(消息=>{
//在这里做我的量子物理和信息处理
返回处理后的数据;
})
);
}
难道你不能将你的DataFromMessage键入为Observable并使用rxjs中的from()
方法吗?难道你不能将你的DataFromMessage键入为Observable并使用rxjs中的from()
方法吗?我实际上只是在寻找更简单的答案“映射”而不是“点击”。非常感谢。是否可以将一个传入的可观察对象(websocket)拆分为多个可观察对象?使用map(),我可以将所需的所有数据放入dataFromMessages$.prices、dataFromMessages$.Quantilities等中,并订阅顶级dataFromMessages$。有没有一种方法可以将它们分割成单独的可观察对象,这样它们就可以分别更新html的不同部分?我可以使用dataPrices$=of(message.prices),DataQuantilities$=of(message.quantilities)设置map()函数中的每个可观察值吗?是的,你可以试试看,让我知道它是否有效。我实际上只是在寻找更简单的答案“map”而不是“tap”。非常感谢。是否可以将一个传入的可观察对象(websocket)拆分为多个可观察对象?使用map(),我可以将所需的所有数据放入dataFromMessages$.prices、dataFromMessages$.Quantilities等中,并订阅顶级dataFromMessages$。有没有一种方法可以将它们分割成单独的可观察对象,这样它们就可以分别更新html的不同部分?我可以使用dataPrices$=of(message.prices),dataquantitys$=of(message.quantitys)设置map()函数中的每个可观察值吗?是的,你可以试试,让我知道它是否有效。