我想使用console.log的消息进行调试。
我们有一个从nodejs中运行的javascript调用的锈蚀wasm32-wasi函数。由于其他限制,我们不能使用ssvm/ssvmup。
我们是否可以在控制台中看到wasm代码中的消息?
发布于 2021-03-28 01:21:24
这在wasm-bindgen指南:使用console.log中得到了回答
js\_namespace来绑定console.log(..),而不是仅仅绑定// log(..) #wasm_bindgen(js_namespace =控制台) fn日志(s:&str;// console.log是多态的,所以我们可以用多个//签名绑定它。请注意,我们需要使用js\_name来确保始终在JS中调用// log。#wasm_bindgen(js_namespace = console,js_name = log) fn log_u32(a: u32);//多个参数也有!#wasm_bindgen(js_namespace = console,js_name = log) fn log_many(a:&str,b:&str);} fn bare_bones() { log("Hello from Rust!");log_u32(42);log_many("Logging",“多值!”);web-sys机箱:
fn using_web_sys() { use web_sys::console;console::log_1(&"Hello“.into());让js: JsValue = 4.into();console::log_2(&”日志记录任意值看起来类似于“.into(),&js)};另一种可能的选择是,如果您正在进行大量日志记录,您可能想考虑在log外观中使用wasm-logger机箱:
wasm_logger::init(wasm_logger::Config::default());
// Logging
log::info!("Some info");
log::error!("Error message");https://stackoverflow.com/questions/66836479
复制相似问题