从Uint8List构造ByteData时,Chrome会抛出异常。
Uncaught TypeError: First argument to DataView constructor must be an ArrayBuffer
我需要在构造ByteData视图时使用ByteBuffer,但是ByteBuffer是一个抽象类。以下是构建ByteData视图的两行。这适用于VM,但不适用于Chrome。
var buffer = new Uint8List(44);
var view = new ByteData.view(buffer);
知道如何解决这个问题吗?
答案 0 :(得分:2)
我尝试了你的代码并且有效
Dart VM版本:1.2.0-dev.3.0(2014年1月31日星期五02:47:34)" linux_x64"
但我认为正确的方法是:
var buffer = new Uint8List(44);
var view = new ByteData.view(buffer.buffer);
ByteData.view()
的第一个参数属于ByteBuffer
,buffer.buffer
返回ByteBuffer
。我不知道消息ArrayBuffer
来自哪里。