JavaScrip中的异步编程

最近发现身边的同学对js的异步流程不是很熟悉,在这里我就来讲一下自己对异步的了解。

首先要明确JS是一门单线程语言,因为js是运行在浏览器的渲染主线程中,而渲染主线程只有一个。

当我们在主线程任务中开启异步时,主线程会将该任务交给其他线程去处理,自身立即结束对该任务的执行,转而执行其他的任务。当异步任务完成时,将事先传递的回调函数包装成任务,加入到消息队列的末尾排队,等待主线程调度执行。下面是开启一个记时任务的流程图

例:

        const fuc1 = ()=> {
            return '异步完成'
        };
        const fuc2 = async()=>{
            let a=await fuc1();
            console.log(a)
            console.log('异步后的步骤')
        }
        fuc2();
        console.log('正常结束')

结果:先输出正常结束,在输出a(异步完成),最后输出异步后的步骤。

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值