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:
Kembalikan janji anda daripada fungsi dan keluarkan
async
seperti ini: