promise()
promise一旦被实例化,promise作为参数的函数就会立即执行(初次执行),之后的任何时刻再次调用回调函数时,会将根据预设的结果执行resolve或者reject,并且将初次执行时设置的参数传递给then()或者catch()的参数函数作为参数。
```
function orderFood(){
return new Promise((resolve,reject)=>{
console.log('1')
let result = makeFood()
if(result == 'ok'){
resolve('ok')
}
else{
reject('no')
}
})
}
function makeFood(){
return Math.random() > 0.5 ? 'ok' : 'no'
}
console.log('2')
a = orderFood()
console.log('3')
a.then(res=>console.log(res)).catch(res=>console.log(res))
```
执行结果:
2
1
3
no(或者ok)