首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从铁锈调用console.log是32-wasi,而不需要ssvm/ssvmup。

从铁锈调用console.log是32-wasi,而不需要ssvm/ssvmup。
EN

Stack Overflow用户
提问于 2021-03-27 21:53:23
回答 1查看 1.5K关注 0票数 0

我想使用console.log的消息进行调试。

我们有一个从nodejs中运行的javascript调用的锈蚀wasm32-wasi函数。由于其他限制,我们不能使用ssvm/ssvmup。

我们是否可以在控制台中看到wasm代码中的消息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-28 01:21:24

这在wasm-bindgen指南:使用console.log中得到了回答

  • 方法1,手动绑定它: #wasm_bindgen extern "C“{ //在这里使用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",“多值!”);
  • 方法2,使用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机箱:

代码语言:javascript
复制
wasm_logger::init(wasm_logger::Config::default());

// Logging
log::info!("Some info");
log::error!("Error message");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66836479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档