十分钟带你了解异步

本文介绍了JavaScript中的异步概念,包括代码执行顺序、同步与异步的区别,以及如何处理异步操作。通过例子展示了同步代码的顺序执行,而异步代码则放入队列等待执行。接着探讨了异步操作获取返回值的问题,指出在异步函数未执行时会返回undefined。然后,文章揭示了回调地狱的问题,并提供了使用Promise解决异步嵌套的方法。最后,介绍async关键字作为es7解决异步的新方式,使得异步函数更加易于理解和管理。
摘要由CSDN通过智能技术生成

代码执行顺序

先来看同步代码

console.log(1);
console.log(2);

按代码执行顺序依次输出

	1 2

再来看包含异步的代码

console.log(1);         第一条输出语句
setTimeout(()=>{
   
    console.log(2);		 第二条输出语句 
},1000);
setTimeout(()=>{
   
    console.log(3);			  第三条输出语句
},0);
console.log(4);				  第四条输出语句

输出结果如下

1 4 3 2

说明:1.第一条和第四条输出语句为同步代码。
2.第二条和第三条输出语句由于在setTimeout内部,属于异步代码。
3.代码执行顺序:先执行同步代码,碰到异步代码放到异步队列中先不执行。等同步代码都执行完,再执行异步代码。异步代码执行时不按其顺序输出,按运行时间,先执行完的先输出,后执行完的后输出。

获取返回值

同步

function sum(a, b){
   
    return a + b;
}
let result = sum(10, 15);
console.log(result);
25

异步

function sum(a, b){
   
    setTimeout(()=>{
   
        return a + b;
    }, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值