So geben Sie ein JSON-Ergebnis aus einem API-Aufruf zurück
P粉916760429
P粉916760429 2024-01-10 17:08:12
0
1
471

Ich habe eine asynchrone JavaScript-Funktion geschrieben, um eine von mir gefundene API zur Rechtschreibprüfung zu verwenden:

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));
  }

Das einzelne zu prüfende Wort wird als String-Parameter übergeben, zum Beispiel:

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

Ich möchte diese Zeile umschreiben:

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

Das Ergebnis als JSON-Objekt an den Aufrufer zurückgeben, aber ich weiß nicht, wie das geht. Folgendes habe ich versucht:

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

Kann jemand eine Lösung vorschlagen, damit das so funktioniert, wie ich es möchte? Ich weiß, dass der ursprüngliche Code funktioniert, da das ursprüngliche console.log gültige Ergebnisse anzeigt. Aber das console.log nach meinem Funktionsaufruf zeigt nur Folgendes:

P粉916760429
P粉916760429

Antworte allen(1)
P粉966335669

从函数中返回你的承诺并删除async,如下所示:

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));
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage