javascript - Comment savoir si le catch de la promesse n'est pas écrit?
phpcn_u1582
phpcn_u1582 2017-05-19 10:41:01
0
1
482
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_u1582
phpcn_u1582

répondre à tous(1)
Ty80

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!