1,关于promise
ans:在旧的es6中处理异步的方法是通过回调函数,promise是es6解决异步操作的新方法,从语法上来说:promise是一个构造函数,从功能上来说,promise对象用来封装一个异步操作并可以取得其成功失败的结果值
2,常见的异步编程有
ans:fs操作,数据库操作,ajax,定时器操作
3,为什么需要promise
ans:支持链式调用,可以解决回调地狱(回调函数嵌套调用,内部回调函数的执行结果是外部函数的执行条件)等问题
4,promise test
const p = new Promise((resolve,reject)=>{
settimeout(()=>{
if(true){
resolve(n)
},else{
reject(n)
}
},1000)
});
p.then((res)=>{
alert(111)
},(err)=>{
alert(222)
})
resolve 解决 函数类型的数据 当调用resolve()的时候,把promise的状态设置为成功
reject 拒绝 函数类型的数据 当调用reject()的时候,把promise的状态设置为失败
当我们调用promise实例对象的时候,需要传入一个函数类型的参数,设置状态后,调用then方法,判断状态是否成功,如果是成功,则调用成功的回调函数,如果失败,则调用失败的回调函数
resolve和reject调用的时候可以传入参数,
\