Javascript 异步缓冲区复制

Javascript Async buffer copy

所以我知道这可能是一个远景,但也许有人可以提供帮助。

有什么方法可以异步复制缓冲区吗?可能以某种方式使用 blob?下面是一个有点像我正在寻找的东西的例子(显然不起作用,只是为了说明)。需要这个才能在客户端工作。

var fromBuffer = new Uint8Array(1056); //just some random data
var bufferToCopyTo;
var req = new XMLHttpRequest();
req.open("GET", "fromBuffer", true);
req.responseType = "blob";

req.onload = function(e) {
  bufferToCopyTo = req.response;

};

req.send();
//continue while buffer makes a copy in the background?

Is there any way I could copy a buffer asynchronously?

不,不能在其他代码为 运行 时复制缓冲区,否则缓冲区的 access/write 个元素可能存在竞争条件。

但是,如果复制花费了异常多的时间并且分块没有帮助,您可以做的是 transfer 将缓冲区交给后台工作人员,在其中复制它,并将两者都传回主线程。这当然意味着缓冲区在复制时不能使用。