Bagaimana untuk mengembalikan hasil JSON daripada panggilan API
P粉916760429
P粉916760429 2024-01-10 17:08:12
0
1
429

Saya menulis fungsi async JavaScript untuk menggunakan API yang saya temui untuk menyemak ejaan:

async function checkWord(word) {
  var myHeaders = new Headers();
  myHeaders.append("apikey", "My api key");
  var requestOptions = {
    method: 'GET',
    redirect: 'follow',
    headers: myHeaders
  };
  fetch(`https://api.apilayer.com/spell/spellchecker?q=${word}`, requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
  }

Perkataan tunggal untuk diperiksa diluluskan sebagai parameter rentetan, contohnya:

let checkResult = checkWord('HOUSE');
console.log(checkResult);

Saya mahu menulis semula baris ini:

.then(result => console.log(result))

Kembalikan hasil kepada pemanggil sebagai objek JSON, tetapi saya tidak tahu bagaimana untuk melakukannya. Inilah yang saya cuba:

.then(result => () => {return result.json();})

Bolehkah seseorang mencadangkan pembetulan untuk menjadikan ini berfungsi seperti yang saya mahukan? Saya tahu kod asal berfungsi kerana console.log asal menunjukkan hasil yang sah. Tetapi console.log selepas panggilan fungsi saya hanya menunjukkan perkara berikut:

P粉916760429
P粉916760429

membalas semua(1)
P粉966335669

Kembalikan janji anda daripada fungsi dan keluarkan async seperti ini:

function checkWord(word) {
  var myHeaders = new Headers();
  myHeaders.append("apikey", "My api key");
  var requestOptions = {
    method: 'GET',
    redirect: 'follow',
    headers: myHeaders
  };
  return fetch(`https://api.apilayer.com/spell/spellchecker?q=${word}`, requestOptions)
  .then(response => response.text())
  .then(result => result.json())
  .catch(error => console.log('error', error));
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!