then의 첫 번째 매개변수 메서드는 Promise가 해결될 때 실행되어야 하지만, console.log(b)는 실제로 실행됩니다.
天蓬老师2017-05-19 10:19:46
초대받지 않은 답장!
In Promise .then( func )
会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve()
得到的。所以在你的问题里,console.log(a)
没有返回值,相当于 Promise.resolve(null)
得到一个状态为 resolved
는 Promise 인스턴스이므로 다음 단계로 진행됩니다.
Promise에 관해서는 내 튜토리얼: Promise를 사용하는 N 가지 방법을 읽어 보시기 바랍니다. 여기에는 매우 자세한 설명이 포함되어 있으며 기본적으로 Promise에 관한 모든 질문에 답할 수 있습니다.
为情所困2017-05-19 10:19:46
.then(매개변수 1, 매개변수 2) 매개변수 1은 성공적인 콜백 함수(resolve())이고 매개변수 2는 실패한 콜백 함수(reject())입니다. 두 번째 .then(첫 번째 함수)이 실행되고 b 값이 정의되지 않은 것으로 인쇄됩니다. 그게 전부입니다! !