Web_sys fetch return opaque response, not JSON

That is the problem, the return is a response is of type opaque, that has no JSON body,
''' rust
#[wasm_bindgen]
pub async fn read_budget() -> Result<JsValue, JsValue> {
let opts = RequestInit::new();
opts.set_method("GET");
opts.set_mode(RequestMode::NoCors);

let url = format!("http://10.0.42.170/data/tst.json");

let request = Request::new_with_str_and_init(&url, &opts)?;

request
    .headers()
    .set("Accept", "application/json")?;

let window = web_sys::window().unwrap();
let resp_value = JsFuture::from(window.fetch_with_request(&request)).await?;
console::log_1(&resp_value);

// `resp_value` is a `Response` object.
assert!(resp_value.is_instance_of::<Response>());
let resp: Response = resp_value.dyn_into().unwrap();
console::log_1(&JsValue::from(resp.status()));
// Convert this other `Promise` into a rust `Future`.
let json = JsFuture::from(resp.json()?).await?;
let data = JsValue::from(&json);
console::log_1(&data);

Ok(json)

}
'''