在Harmonyos NEXT 中,如何使用异步操作来实现实时数据更新?

阅读 706
1 个回答

对于需要实时更新的应用,如股票价格监控或聊天应用,可以使用WebSocket或轮询机制来实现。

@Entry
@Component
struct Index {
  @State messages: string[] = [];

  connectWebSocket() {
    const ws = new WebSocket('wss://api.example.com/websocket');
    ws.onmessage = (event) => {
      this.messages.push(event.data);
    };
    ws.onerror = (error) => {
      console.error('WebSocket error:', error);
    };
  }

  build() {
    Column() {
      Repeat(this.messages, (message) => {
        Text(message)
          .fontSize(30)
          .fontWeight(FontWeight.Bold)
      })
      
      Button('Connect WebSocket')
        .onClick(() => {
          this.connectWebSocket();
        })
        .width('100%')
        .height(100)
    }
    .width('100%')
    .height('100%')
  }
}

connectWebSocket方法用于建立WebSocket连接,并在接收到新消息时更新messages状态。

参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进