recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment savoir si le catch de la promesse n'est pas écrit?

function p(){
    return new Promise((resolve, reject) => {
        reject();
    });
}

p().then(()=>{
    console.log(1);
})

J'ai réédité la question, juste pour demander si je n'écris pas le .catch() de p(), comment dois-je écrire le navigateur à l'intérieur de la fonction p pour que le navigateur ne signale pas d'erreur

phpcn_u1582phpcn_u15822803 Il y a quelques jours567

répondre à tous(1)je répondrai

  • PHP中文网

    PHP中文网2017-05-19 10:43:01

    Deux questions :
    1.le retour n'est pas renvoyé
    2.il faut ajouter un support après une nouvelle promesse

    Le code original est donc le suivant

    var x = 10;
    function p() {
        return new Promise((resolve, reject)=>{
            if(1 < x) {
                resolve();
            }
            if(5 < x) {
                reject();
            }
        });
    }
    p().then(() => {
        alert(1)
    })

    Il n'y aura aucun problème avec cet appel. De plus, après 1<x, nous jugerons 5<x. Le if suivant est complètement inutile et ne sera pas exécuté. La raison est que l'état de la promesse ne peut être que modifié. une fois. Le deuxième changement ne sera pas effectif. .
    Même si rejeter() est exécuté, l'erreur générée par la promesse est une question de promesse et n'a rien à voir avec la fonction P. L'erreur générée par la promesse ne peut être capturée que par. ajouter une instruction catch après la promesse. Puisque la fonction p renvoie la promesse de new, il suffit d'ajouter l'instruction catch après le résultat de l'exécution de la fonction p.
    Il est recommandé de lire cet article : Manuel d'utilisation de la promesse

    répondre
    0
  • Annulerrépondre