gpt4 book ai didi

javascript - TypeScript:此表达式不可调用。没有类型为 'ExportValue' 的成分是可调用的。 WebAssembly 模块

转载 作者:行者123 更新时间:2023-12-05 04:53:30 38 4
gpt4 key购买 nike

当我使用 Deno 在 index.ts 中运行这段代码时遇到了这个问题。

const wasm = await Deno.readFile("./wasm_test/pkg/wasm_test_bg.wasm");
const wasmModule = new WebAssembly.Module(wasm);
const wasmInstance = new WebAssembly.Instance(wasmModule);
const wasmTest = wasmInstance.exports;
wasmTest.sum(1, 3); // Error

Error: This expression is not callable. No constituent of type 'ExportValue' is callable.

我在调用 sum 时出错,结果应该是 4。当我将它作为 index.js 运行时,它工作得很好。我使用 wasm-pack 来编译 Rust 代码。

最佳答案

问题是名称add 未知。如下更改代码的第 4 行:

const wasm = await Deno.readFile("./add.wasm");
const wasmModule = new WebAssembly.Module(wasm);
const wasmInstance = new WebAssembly.Instance(wasmModule);
const sum = wasmInstance.exports.sum as CallableFunction; // exports.add if you test with the below linked wasm.
console.log(sum(1, 3))

参见 documentation .

对于我的测试,我找到了一个带有 add-function here 的 wasm 示例.

关于javascript - TypeScript:此表达式不可调用。没有类型为 'ExportValue' 的成分是可调用的。 WebAssembly 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66035166/

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