Turul WebAssembly Cuprins

Returnarea referințelor

Când vrem să returnăm o referință la un obiect, întâlnim o problemă la funcțiile dinamice. WebAssembly poate să trimită înainte și înapoi doar numere! Pentru a trece peste acest obstacol, trebuie să stabilim o convenție de a folosi un identificator numeric pentru a reprezenta o referință către obiectul nostru în JavaScript.

let query_selector_handle = register_function("
  (context, selectorStart, selectorEnd) => {
    let selector = context.getUtf8FromMemory(
      selectorStart,selectorEnd);
    let domEl = document.querySelector(selector);
    let objHandle = context.storeObject(domEl);
    return objHandle;
  }");

let selector = "#fancy-button";

let dom_element_handle = js_invoke_with_2_params(
    log_handle,selector.as_ptr() as f64, 
    selector.len() as f64 );
Mascot Ferris