js 异步总结

js 异步总结

异步编程经历的过程:
1.回调函数
回调函数就是将函数的第二段单独写在一个函数里,并将这个函数传进主函数中,当主函数中任务执行结束后,就执行这个回调函数。
fs.readfile(‘file’ ,function(err, data){
if(err){
console.log();
}
})

2.事件监听
3.发布订阅
4.promise

Promise是异步函数的另一种写法,它将异步函数嵌套的模式改成链式的调用。
promise对象:是一个容器,装载着异步函数进行的状态,并将异步函数的状态传递出来,对象的状态不受外界的影响,任何时候都可以得到这个结果。

var promise = new Promise(function(resolve,reject){
setTimeout(()=>{
console.log(‘hhhhhh’);
},1000)
resolve(‘124’);
})

promise.then(function(data){
    console.log(data,'异步成功')
},function(err){
    console.log('异步失败');
})

promise.prototype.then()
Then方法的作用是为promise实例添加异步函数状态改变时的回调函数,then方法可以返回一个新的promise实例,即新的异步函数,因此在then后面可以再加一个then函数,用于新的promise实例状态改变时调用。
promise.then(function(){
return new Promise();
}).then(function(){
resolve()
}).catch(function(){
reject()
})

5.async await 异步
async function getData(){
const res = await api.qryCompositeMaterials({ id: ‘03782627’ });
return res;
}

getData().then(function(res){
    console.log(res);
})
.catch(function(err){
    console.log(err)
})

Async表示函数内部有异步操作,await表示要等到异步操作结束后再执行下面的代码。函数执行的时候,遇到await时就会先返回,等到异步操作结束后,再接着执行函数体内后面的语句。async函数会返回一个promise对象,可以用then函数添加回调函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值