是ES6引入的异步编程的新解决方案,非常重要。
<script> new Promise((resolve, reject) => { setTimeout(()=>{ resolve(111) },3000) }).then(value => { console.log(value); }) </script>
Promise.prototype.then
那么then方法由谁来调呢?肯定是经过new Promise()得到的一个实例对象p。then方法能接收到两个参数,都是以函数作为参数。并且函数里面能接收到一个形参,我们习惯把第一个函数的形参叫做value,第二个函数的形参叫做reason。
当Promise中的resolve被调用的时候,就会调用then方法里面的第一个回调函数,并且能够接收到resolve里面的形参,反亦。