Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
¿Cómo realizo una solicitud HTTP dentro de una función wasm_bindgen en Rust?

Estoy desarrollando un paquete NODE JS usando Rust y wasm-pack para compilar, y necesito realizar solicitudes HTTP en mi código. Traté de usar la biblioteca reqwest , por lo que todo funciona bien en la prueba, pero aparece un error al empaquetar.

 #![allow(non_snake_case)] use reqwest; use wasm_bindgen::prelude::*; // function #[wasm_bindgen] pub fn makeGetRequest(url: &str) -> String { let mut resp = reqwest::get(url).unwrap(); resp.text().unwrap() } // test #[cfg(test)] mod tests { use super::*; #[test] fn test_makeGetRequest() { let url = "https://stackoverflow.com/"; let body = makeGetRequest(url); assert!(body.len() > 0); } }

Configuración Cargo.toml :

 ... [lib] crate-type = ["cdylib"] [dependencies] wasm-bindgen = "0.2" reqwest = "0.9"

Empaco el proyecto con el comando:

 wasm-pack build --release --target nodejs

Y me sale el error:

 ... error: could not compile `net2`

Descubrí que parece que net2 no es compatible con wasm-pack , por lo que tal vez no pueda usar reqwest en mi caso: error de informe de compilación de wasm-pack: no se pudo compilar `net2`

¿Hay alguna forma de realizar solicitudes HTTP sincrónicas que se puedan empaquetar con wasm-pack correctamente?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No funcionará tan fácilmente como cabría esperar: el código de bytes WASM se ejecuta en un entorno protegido sin acceso a funciones del sistema operativo como disco, red, generadores aleatorios convencionales y cualquier otro tipo de E/S. En consecuencia, en el momento en que compile cualquier código de Rust utilizando dichas funciones en Wasm, no funcionará.

Desafortunadamente, su código (por ejemplo, el acceso a archivos) generalmente incluso se compila en silencio y luego falla de manera misteriosa durante el tiempo de ejecución. Esto no es a lo que te acostumbraste al usar Rust y es un gran inconveniente de la pila actual de Wasm Rust.

Para acceder a las funciones del sistema operativo, necesitará WASI (Interfaz del sistema Wasm) como una extensión. Para habilitar Wasi en NodeJs, puede usar algo como WasmerJs; consulte, por ejemplo,este artículo que proporciona un breve resumen para hacerlo.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda