js是单线程的,Promise解决就是异步编程一种思想,比传统的回调函数和事件强大好多。
Promise:英文承诺意思
可以进行一些延迟操作
对承诺有结果有两种处理方式
1. resolve 解决
2. reject 拒绝
var p = new Promise(function(resolve,reject){ setTimeout(function(){ var num = Math.random(); if(num>.5){ resolve(num); }else{ reject('对不起我没有做好') } },5000) })
then 方法 第一个function是对resolve结果处理,第二个function是对reject方法处理
p.then( res=>{ console.log(res); }, err=>{ console.error(err); } ) // 5s 会返回一个0-1的随机数,或者返回'对不起我没有做好'