在 yew.rs v0.19 中执行网络请求

问题描述 投票:0回答:3

在 yew 0.2

Request::get
工作正常,但现在
yew::services
不存在,我如何向
/api/ping
提出请求?我需要 JavaScript 吗?

rust webassembly yew
3个回答
2
投票

您可以尝试使用reqwasm

对于 reqwasm 0.4.0:

use reqwasm::http::Request;

Request::get(url)
    .send()
    .await
    .unwrap();

和/或者您可以使用

web_sys::{Request, RequestInit}
wasm_bindgen_futures::JsFuture

对于 web-sys 0.3.55 和 wasm-bindgen-futures 0.4.28:

let mut opts = RequestInit::new();
opts.method("GET");
let request = Request::new_with_str_and_init(url, &opts)?;
let window = web_sys::window().unwrap();
JsFuture::from(window.fetch_with_request(&request)).await?;

0
投票

您还可以按照官方 yew [教程]的建议使用

gloo-net
(https://yew.rs/docs/tutorial#:~:text=Fetching%20data%20(using,the%20following%20crates% 3A)


use gloo_net::http::Request;

Request::get(URL)
   .send()
   .await
   .unwrap();

0
投票

Yew 使用

web-sys
访问浏览器特定的 API。可以按照 Yew 和
fetch
的指南从 rust 调用
web-sys
API。

Yew web-sys 集成文档

web-sys
获取文档

© www.soinside.com 2019 - 2024. All rights reserved.