Quando mais tarde desejarmos chamar nossa função dinâmica, precisaremos de algum tipo de invocação de função que possa incluir o identificador e os argumentos da nossa função.
Novamente, como o WebAssembly só pode passar e receber números e como todos os números em JavaScript são floats de 64 bits, a aparência final será de uma função importada:
js_invoke_with_2_params(fn_handle:f64, a:f64, b:f64) -> f64
Juntando tudo nós
```rust let loghandle = registerfunction("
(parama, paramb) => {
// de alguma forma chame console_log
}");
let msg = "olá, mundo"; jsinvokewith2params( loghandle, msg.asptr() as f64, msg.len() as f64 ); ```
Você notará que há um problema com nossa função JavaScript. Ele tem o início e o fim do nosso utf-8, mas não a memória!