Je ne suis pas en mesure d'obtenir une valeur lorsque j'ai appelé enregistreur () code> même si j'ai réussi à obtenir de la valeur lorsque je me suis connecté dans l'enregistreur
code> Je ne sais pas quoi je ne sais pas quoi est faux avec cela.
The JSON String undefined
The JSON String [{"Id":1}]
3 Réponses :
Ce code est asynchronisé. La ligne Pour faire ce travail comme prévu et Utilisez la valeur de retour d'une fonction ASYNC de manière synchrone, vous pouvez utiliser Asyc / attendre.
https://developer.mozilla.org/en- US / DOCS / Web / JavaScript / Référence / Déclarations / Async_function P> console.log (LOGTEST) code> sera exécutée avant que la promesse de récupération ne soit remplie.
Essayez d'ajouter quelque chose
console.log (1) code>
console.log (2) code> Pour avoir une idée de ce que l'on appelle dans quel ordre.
function loadRes (res){
console.log('loadres called')
return res.json();
}
function logger (reply){
let stringReply = JSON.stringify(reply);
console.log("The JSON String " + stringReply)
return stringReply;
}
function logger (reply){
console.log('logger called', reply)
let stringReply = JSON.stringify(reply);
console.log("The JSON String " + stringReply) // The logged result is "The JSON String [{"Id":1}]"
return stringReply;
}
async function myAsyncFunction(apiURL, setting) {
console.log('async function called')
const result = await fetch(apiURL, setting).then(json => json.json())
return result
}
myAsyncFunction('https://jsonplaceholder.typicode.com/todos/1').then(result => logger(result))
J'ai eu une erreur d'erreur : impossible de définir des en-têtes après leur envoi au client code>, il peut être dû à la fonction ASYNC qui interfère en quelque sorte
Oui, tu as raison. Il est probable que le code a fini d'exécuter avant qu'il ait réussi à obtenir une valeur de Fetch.
var logTest = logger(); console.log(logTest); Maybe You need pass parameters to logger("{"something":1}")
Je pense que vous avez besoin d'une étude plus sur async code> et
prometteur code> d'abord.
fetch().then().then()
Êtes-vous sûr que vous l'URL et le réglage sont les deux corrects et vous pouvez obtenir le résultat de l'API? Vérifiez que dans l'onglet Réseau
Oui, j'ai réussi à y avoir une réponse. Mais quand j'ai appelé la fonction à nouveau, cela ne fonctionne pas.