recherche

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

javascript - Questions sur l'utilisation de Promesse

function test() {
    return new Promise((resolve, reject)=>{
        resolve(123);
    });
}
test().then((a)=>{
    console.log(a);
}).then(function (b) {
    console.log(b);//这行代码被执行了
});
La première méthode paramètre de

then doit être exécutée lorsque la promesse est résolue, mais console.log(b) est réellement exécuté Pourquoi

?
高洛峰高洛峰2809 Il y a quelques jours456

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

  • 天蓬老师

    天蓬老师2017-05-19 10:19:46

    Une réponse non sollicitée !

    Dans Promise, .then( func ) 会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve() 得到的。所以在你的问题里,console.log(a) 没有返回值,相当于 Promise.resolve(null) 得到一个状态为 resolved est une instance Promise, elle passera donc à l'étape suivante.

    Concernant Promise, je vous recommande de lire mon tutoriel : N façons d'utiliser Promise. Il a une explication très détaillée et peut répondre en gros à toutes les questions sur Promise.

    répondre
    0
  • 为情所困

    为情所困2017-05-19 10:19:46

    .then(paramètre 1, paramètre 2) Le paramètre 1 est la fonction de rappel de succès (resolve()), le paramètre 2 est la fonction de rappel d'échec (reject()), en raison de la façon dont vous l'écrivez ici, le .then après le la deuxième (la première fonction), sera exécutée et la valeur de b sera affichée comme indéfinie, c'est tout ! !

    répondre
    0
  • Annulerrépondre