J'ai besoin d'appeler une fonction attendre 3 secondes après la fin d'un appel API à l'aide de la méthode ASYNC / AWAIT, mais je n'ai aucune idée de la façon de le faire.
J'ai essayé d'envelopper le $ Data: p>
3 Réponses :
Bien que cela puisse être facilement corrigé à l'aide d'une fonction Il peut être bénéfique pour acquisifier car il peut être écrit comme suit: p> notes: p> Ç1: Toujours déclarer des variables! P> ²: Ne faites jamais confiance à l'ASI pour vous sauver, utilisez des points-virgules! P> -³: les noms de fonction dans IIFES vous aident pendant le débogage (mais ils sont facultatifs). p> p> async code> comme l'erreur suggère:
Settimeout Code> As: p>
Merci, vous essaierai rapidement de fournir des commentaires.
génial! Merci à @jonaswilms et @selmikarim pour me faire remarquer dans la bonne direction.
J'ai réussi à obtenir le Settimeout () Utiliser par modifier mon bloc de code d'origine de: p> à p> Merci beaucoup, tout le monde! p> p>
Vous n'avez toujours pas besoin du .Chen (resp => resp) code>. Cela ne fait rien, alors supprimez-le.
respo = attendre la promesse1; code>
Vous devez utiliser une fonction attendre à l'intérieur de Async.
Les mots-clés ASYNC et attendre sont absents de notre code de promesse. Nous les utilisons pour configurer des fonctions asynchrones qui appellent notre promesse et attendons qu'il soit terminé, comme celui-ci: p>
Tu as raison. C'était simplement une faute de frappe dans mon dernier commentaire. J'ai mis à jour pour réfléchir à la manière dont il est actuellement dans mon code. respo = attendre la promesse1.En (resp => resp)
@Jonaswilms Merci pour la réponse rapide. Je l'ai fait l'essayer, mais le résultat dans la console était: non défini ". Cela semble être quand une fonction de sécurité () est utilisée, les données" res "de la fonction * Tasks () i> ne sont pas transmises. dans la variable, tasseResponse b>
.Chen (res => res) code> - Qu'est-ce que ce nop pour?
S'il vous plaît ne postez pas de code multiligne dans un commentaire .... Si vous devez utiliser SettimeOut pour attendre la réponse à la fin, vous êtes faire quelque chose de mal ™ i> -
@Jaromandax, ok multiline enlevé. Je sais que je fais quelque chose de mal. C'est pourquoi je demande une assistance. 😃
Mais, sans la sécurité, le résultat attendu semble être le long des lignes du résultat que vous obtenez - alors pourquoi le retard?
Au fait, depuis
Tâches de fonction CODE> renvoie une promesse, et ne doit jamais utiliser
attendre code> Il n'est pas nécessaire de les baliser
async code>
... (mais c'est un excellent indice pour les développeurs supplémentaires en utilisant cette fonction qu'elle retourne une promesse et doit être attendue) i>
L'API Je passe des appels pour configurer des périphériques réseau, tels que des commutateurs et des routeurs. Il y a un retard de lorsque la configuration est appuyée sur l'appareil lorsque la configuration est appliquée avec succès. L'API fournit ainsi une réponse * tâche "avec un identifiant. Après 3 secondes, je peux utiliser l'ID pour vérifier l'état de la pression de configuration.
Ensuite, retarder l'appel est raisonnable et les conseils de Jaromandax ne s'appliquent pas dans ce cas.