gpt4 book ai didi

dart - 使用 js-interop 从 dart 将类型化数组缓冲区传递给 javascript

转载 作者:行者123 更新时间:2023-12-04 22:39:35 27 4
gpt4 key购买 nike

尝试调用需要类型化数组的 javascript 方法。

var arrayData = js.array(new Uint8Array.fromList(data.charCodes));

使用 js.array 并没有像我期望的那样代理它,我如何将类型化数组作为类型化数组传递给 dart 中的 javascript 方法?

最佳答案

您可以直接从 Dart 实例化 ArrayBufferUint8Array javascript 对象。

如果您只需要一个 Uint8Array javascript 对象:

js.scoped(() {
final charCodes = "test".charCodes;
final bufView = new js.Proxy(js.context.Uint8Array, js.array(charCodes));

// do something with bufView
});

如果您需要一个 ArrayBuffer javascript 对象:

js.scoped(() {
final charCodes = "test".charCodes;
final buf = new js.Proxy(js.context.ArrayBuffer, charCodes.length);
final bufView = new js.Proxy(js.context.Uint8Array, buf)
..set(js.array(charCodes));

// do something with buf
});

基本上,每次需要使用 new javascript 运算符时,都必须使用 new js.Proxy(construtor,...)

警告:直到包含the pull-request #34 of js-interop 的新版本登陆,您必须使用以下依赖项来运行上面的代码片段。

dependencies:
js:
git: git://github.com/dart-lang/js-interop.git

关于dart - 使用 js-interop 从 dart 将类型化数组缓冲区传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13908281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com