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的随机数,或者返回'对不起我没有做好'