3

我想像这样编写 JavaScript:

var [greeting, err] = wasm.hello("world");

看来,如果我使用标准Result类型,那么我需要使用try/ catch

try {
  greeting = wasm.hello()
}
catch(error) {
  console.error(error);
}

产生错误的 Rust 代码:

#[wasm_bindgen]
pub fn hello(name: &str) -> Result<String, JsValue> {
    if name == "" {
        return Err(JsValue::from("name required!"));
    }

    let greeting = format!("Hello {}!", name);

    Ok(greeting)
}

这是基于rust-parcel-template中的示例。带有 Rust + WASM + JS 的完整 web 应用程序以及上面的小示例位于GitHub 上

4

0 回答 0