then의 첫 번째 매개변수 메서드는 Promise가 해결될 때 실행되어야 하지만, console.log(b)는 실제로 실행됩니다.
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
초대받지 않은 답장!
In Promise .then( func ) 会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve() 得到的。所以在你的问题里,console.log(a) 没有返回值,相当于 Promise.resolve(null) 得到一个状态为 resolved는 Promise 인스턴스이므로 다음 단계로 진행됩니다.
.then( func )
Promise.resolve()
console.log(a)
Promise.resolve(null)
resolved
Promise에 관해서는 내 튜토리얼: Promise를 사용하는 N 가지 방법을 읽어 보시기 바랍니다. 여기에는 매우 자세한 설명이 포함되어 있으며 기본적으로 Promise에 관한 모든 질문에 답할 수 있습니다.
.then(매개변수 1, 매개변수 2) 매개변수 1은 성공적인 콜백 함수(resolve())이고 매개변수 2는 실패한 콜백 함수(reject())입니다. 두 번째 .then(첫 번째 함수)이 실행되고 b 값이 정의되지 않은 것으로 인쇄됩니다. 그게 전부입니다! !
초대받지 않은 답장!
In Promise
.then( func )
会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行Promise.resolve()
得到的。所以在你的问题里,console.log(a)
没有返回值,相当于Promise.resolve(null)
得到一个状态为resolved
는 Promise 인스턴스이므로 다음 단계로 진행됩니다.Promise에 관해서는 내 튜토리얼: Promise를 사용하는 N 가지 방법을 읽어 보시기 바랍니다. 여기에는 매우 자세한 설명이 포함되어 있으며 기본적으로 Promise에 관한 모든 질문에 답할 수 있습니다.
.then(매개변수 1, 매개변수 2) 매개변수 1은 성공적인 콜백 함수(resolve())이고 매개변수 2는 실패한 콜백 함수(reject())입니다. 두 번째 .then(첫 번째 함수)이 실행되고 b 값이 정의되지 않은 것으로 인쇄됩니다. 그게 전부입니다! !