在我的 javascript 中,在调用 wasm 之前,我定义了一个函数 jalert,稍后我想使用 wasm 从 Rust 调用它。我在 wasm-bindgen 的文档中找不到如何调用我之前在 javascript 中定义的任意函数,如下所示。我得到了像 alert 和 console.log 这样的函数,因为它们已经是 javascript 的一部分,但是我不能让这个函数 jalert 工作。我在浏览器中收到一个错误,说它没有定义。有了警报功能,它不会抱怨。
function jalert(sometext) {
alert(sometext);
}
jalert("I am Claudio");
// This works from Javascript
在锈文件中lib.rs
:
#[wasm_bindgen]
extern "C" {
fn alert(s: &str);
fn jalert(s: &str);
}
#[wasm_bindgen]
pub fn run_alert(item: &str) {
jalert(&format!("This is WASM calling javascript function jalert and {}", item));
alert(&format!("This is WASM and {}", item));
}
// The alert() code works fine. The jalert() call in run_alert() gives me a browser error that jalert is not defined