2 votes

Fonction d'attente qui résout une promesse sans arguments

J'ai une fonction qui résout une Promise sans passer d'arguments :

const checkUser = (user)=> {
    let promise = Parse.Promise();

    if(user.success){
        promise.resolve();
    } else {
        promise.reject("Error");
    }
}

Le problème est que dans tous les tutoriels que je lis, ils assignent la valeur de retour à une variable, comme ceci :

let response = await checkUser(user);

Dans le cas ci-dessus, puis-je simplement attendre la promesse sans assigner le résultat à une variable ou cela n'est pas recommandé ? Par exemple :

...
await checkUser(user);
...

3voto

Luca Kiebel Points 7545

Oui, vous pouvez tout à fait faire ça. JavaScript attendra toujours que la promesse soit résolue.

Voici une modification de Le premier exemple de MDN pour await . Il ne renvoie pas de valeur, mais attend la résolution de la promesse avant d'exécuter le code suivant await .

function resolveAfter2Seconds() { 
  return new Promise(resolve => {
    setTimeout(resolve, 2000);
  });
}

(async function() {
  console.log(1)
  await resolveAfter2Seconds();
  console.log(2);
})()

-1voto

Bergi Points 104242

Je pense que c'est une mauvaise pratique de résoudre une promesse avec rien, car c'est le canal approprié pour les résultats. Et si vous ne voulez pas obtenir de résultat, pourquoi auriez-vous appelé une fonction ? Cela pourrait s'appliquer à la programmation fonctionnelle principalement, cependant.

Je peux juste await la promesse sans assigner le résultat à une variable ou cela n'est pas recommandé ?

Oui, vous pouvez tout à fait faire ça. Si tu n'as pas besoin de faire quoi que ce soit avec le résultat - comme quand tu sais qu'il est toujours undefined - alors vous pouvez l'ignorer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X