亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不使用 .then 語法的情況下使 fetch promise 解析?

如何在不使用 .then 語法的情況下使 fetch promise 解析?

青春有我 2022-11-27 17:24:18
首先,我確保為我在這里談論的問題編寫一個快速演示https://codesandbox.io/s/exciting-swirles-7cs3s但本質上,使用這個isomorphic-fetch庫,我遇到了一個問題,我無法真正獲得函數的值,或者你可能會說,分辨率fetch()。import fetch from "isomorphic-fetch";async function test() {  return await fetch("https://google.com", { mode: "no-cors" });}let t = test();console.log(t);結果是現在我也考慮過fetch()像這樣使用的另一種方式fetch("https://google.com", { mode: "no-cors" })  .then(response => response.text())  .then(data => console.log(data));它實際上提供了一個字符串,但如果可能的話,我更喜歡第一種方式?也很有可能我沒有正確使用 fetch。
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

像這樣嘗試:


import fetch from "isomorphic-fetch";


async function test() {

  const response = await fetch("https://google.com", { mode: "no-cors" });

  return response.text();

}

async function main() {

  let t = await test();

  console.log(t);

}

main();

您需要等待承諾,這意味著您需要一個異步函數。


查看完整回答
反對 回復 2022-11-27
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

fetch 將返回一個承諾,而不是一個字符串。在你的第二個例子中,你調用.text()它。你將不得不在 asyc/await 中做類似的事情



查看完整回答
反對 回復 2022-11-27
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

使用t.then(res => console.log(res));它將返回response對象。


因為你有async功能test而且你沒有await像await test()這樣它會返回promise。


根據您的評論,您應該使用await test(). 但是你只能await在內部使用,async所以我建議使用如下的包裝函數。


import fetch from "isomorphic-fetch";


async function test() {

  return await fetch("https://google.com", { mode: "no-cors" });

}


async function wrapper() {  

  let t = await test();

  console.log(t.text());

}


wrapper();


查看完整回答
反對 回復 2022-11-27
  • 3 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號