同步API与异步API
同步API:当前API完成后才会执行下个API
异步API:
1.当前API的执行不会阻塞后序API的执行
console.log(1);
setTimeout(()=>{
console.log(2);
},1000);
console.log(3);
//1 3 2
2.无法通过返回值的方式拿到函数执行结果
只能通过回调函数(回调函数:自己定义函数供其他人调用)
function getMsg(callback){
setTimeout(function(){
callback({msg:"hello"})
},2000)
}getMsg(function(data){
console.log(data);
})
Promise
promise出现的目的是解决node.js中异步编程的回调地域问题
例1:
let promise = new Promise((resolve,reject)=>{
setTimeout(()=>{
if(true){
resolve({data:12})
}else{
reject("fail")
}
},100)
});promise.then(result=>{
console.log(result)
}).catch(err=>{
console.log(err)
})