HarmonyOS 使用slice处理buffer卡住问题

代码如下:

console.debug('-----completeDataBuffer------1', JSON.stringify(data), data[0]) // 正常输出
let completeDataBuffer = data.slice(5, 6)
console.debug('-----completeDataBuffer------2', JSON.stringify(completeDataBuffer)) // 没有执行
HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以使用三方库ohos_polyfill来引入相应的buffer,推断是缺乏对应的js相关的buffer所以导致报错。

ohos_polyfill开源项目链接:https://gitee.com/openharmony-sig/ohos_polyfill

在工程中引入好该仓库后,可以在工程中新建对应的js文件,如Test.js,代码如下:

import { buffer } from '@ohos/node-polyfill';
export function test() {
  const message = [103, 0, 0, 0, 1, 36, 91, 191]
  const dataBuffer = buffer.Buffer.from(message)
  console.debug('Channel: Respond from server ==> Package length = ', dataBuffer.length, dataBuffer)
  console.debug('onData -->', dataBuffer)
  console.debug('onData -->', JSON.stringify(dataBuffer))

  let type = parseInt(dataBuffer[0])

  console.debug('<===================== Message Type =====================>', type)

  // 获取完整的消息
  console.debug('-----completeDataBuffer------1', JSON.stringify(dataBuffer), dataBuffer[0])
  let completeDataBuffer = dataBuffer.slice(5, 6); // 这里报错
  console.debug('-----completeDataBuffer------2', JSON.stringify(completeDataBuffer))
  console.debug('-----completeDataBuffer------3', JSON.stringify(dataBuffer[0]))
}

然后,可在ArkTS原生代码中进行调用,示例代码如下:

import { promptAction } from '@kit.ArkUI';
import { test } from './Test';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  get() {

    test()

  }

  build() {
    Column() {
      Button('点击').onClick(() => {
        this.get()
        promptAction.showToast({ message: `方法已执行` })
      })
    }
    .width("100%")
    .height("100%")
    .justifyContent(FlexAlign.Center)
  }
}
分享
微博
QQ
微信
回复
3天前
相关问题
fileio.write写buffer数据有问题
4628浏览 • 1回复 待解决
手机直接卡住了,怎么强制重启
1674浏览 • 1回复 待解决
PageAbility配合多个Slice实现页面间切换
13999浏览 • 4回复 已解决
HarmonyOS Web 触发新窗口时卡住
74浏览 • 1回复 待解决
HarmonyOS Buffer功能太过简陋。
447浏览 • 1回复 待解决
HarmonyOS 报错问题处理
333浏览 • 1回复 待解决
HarmonyOS 音频处理问题
57浏览 • 1回复 待解决
HarmonyOS 底部遮挡的问题处理
40浏览 • 1回复 待解决
HarmonyOS PixelMap位图处理问题
52浏览 • 1回复 待解决
HarmonyOS emitter事件处理问题
73浏览 • 1回复 待解决
HarmonyOS 处理java后端返回数据问题
46浏览 • 1回复 待解决