gpt4 book ai didi

javascript - 无法在 'put' : An object could not be cloned 上执行 'IDBObjectStore'

转载 作者:行者123 更新时间:2023-12-03 04:44:17 25 4
gpt4 key购买 nike

当尝试在 chrome 中存储已编译的 wasm 模块时,这是我收到的错误:无法在“IDBObjectStore”上执行“put”:无法克隆对象。

但根据 MDN 的说法,这应该是可能的。 https://developer.mozilla.org/en-US/docs/WebAssembly/Caching_modules

有解决办法吗?

最佳答案

根据错误消息和 StackOverflow 标记,您似乎正在使用 Chrome。从版本 57(WebAssembly 首次发布)开始,Chrome 不支持 structured cloning WebAssembly.Module 的。这包括存储到 IndexDB 以及向工作人员存储 postMessage

IndexDB确实是spec'd by WebAssemblydocumented in MDN正如您所指出的,但不一定所有浏览器都实现它。你必须优雅地处理失败。无论如何,这是必需的:允许 IndexDB 由于其他原因而失败。即使浏览器支持,结构化克隆也可能会失败!

在 V8 中,有一个命令行标志可以更改此行为:--wasm-disable-structed-cloning=false。在 Chrome 中,可以使用 chrome://flags/#enable-webassemble 更改相同的行为(在浏览器的导航栏中输入此 URL,更改选项,重新启动浏览器)。

请注意,从版本 52 开始,Firefox 确实支持结构化克隆(第一个发布 WebAssembly)。

关于javascript - 无法在 'put' : An object could not be cloned 上执行 'IDBObjectStore',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42937136/

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