为什么要使用promise? 它指定回调函数的方式更加灵活,当new出一个promise的时候,这个任务就立刻开始执行了,后面的回调函数会在异步执行完后进行回调,在没有promise之前就不一样了:必须在启动异步任务之前指定回调函数,而有了promise:启动异步任务=>返回promise对象=>给promise对象绑定回调函数(甚至可以在异步操作完成后) promise支持链式调用,可以解决回调地狱的问题(回调函数嵌套调用),如果想更加通俗易懂,可以使用async/await的方式进行改进
<script>
const p = new Promise((resolve,reject)=>{
//执行异步操作任务
setTimeout(() => {
const time = Date.now()
if (time %2 == 0){
reslove('成功的数据,time=' + time)
}else{
reject('失败数据,time=' + time)
}
},1000);
})
p.then(
value => {//接收到成功的value数据 onResolved
console.log('成功的回调',value)
},
reason =>{//接受得到失败的reason数据 onReject
console.log('失败的回调',reason)
}
)