使用Uint8List构造ByteData视图会在Chrome中引发异常

时间:2014-02-01 04:23:57

标签: dart

从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);

知道如何解决这个问题吗?

1 个答案:

答案 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()的第一个参数属于ByteBufferbuffer.buffer返回ByteBuffer。我不知道消息ArrayBuffer来自哪里。