Comment renvoyer le résultat JSON d'un appel API
P粉916760429
P粉916760429 2024-01-10 17:08:12
0
1
475

J'ai écrit une fonction asynchrone JavaScript pour utiliser une API que j'ai trouvée pour vérifier l'orthographe :

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

Le mot unique à vérifier est passé en paramètre de chaîne, par exemple :

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

Je veux réécrire cette ligne :

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

Renvoyer le résultat à l'appelant sous forme d'objet JSON, mais je ne sais pas comment faire cela. Voici ce que j'ai essayé :

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

Quelqu'un peut-il suggérer une solution pour que cela fonctionne comme je le souhaite ? Je sais que le code d'origine fonctionne car le console.log d'origine affiche des résultats valides. Mais le console.log après mon appel de fonction n'affiche que ce qui suit :

P粉916760429
P粉916760429

répondre à tous(1)
P粉966335669

Renvoyez votre promesse de la fonction et supprimez async comme ceci :

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));
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal