Я создал небольшой файл Wasm из этого кода Rust:
#[no_mangle]
pub fn hello() -> &'static str {
"hello from rust"
}
Он строит и функция hello
может быть вызвана из JS:
<!DOCTYPE html>
<html>
<body>
<script>
fetch('main.wasm')
.then(response => response.arrayBuffer())
.then(bytes => WebAssembly.instantiate(bytes, {}))
.then(results => {
alert(results.instance.exports.hello());
});
</script>
</body>
</html>
Моя проблема заключается в том, что alert
отображает "неопределенный". Если я возвращаю i32
, он работает и отображает i32
. Я также попытался вернуть String
но она не работает (она по-прежнему отображает "undefined").
Есть ли способ вернуть строку из Rust в WebAssembly? Какой тип я должен использовать?