你不知道的javaScript笔记(7)

本文介绍了JavaScript中的异步编程概念,包括事件循环、并行线程、并发和非交互等核心内容,并探讨了如何通过回调函数实现异步操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步:现在与将来

  分块的程序

    可以把JavaScript 程序写在单独的js 文件中,这个程序是由多个块组成的,这些块

    中只有一个是现在执行,其余在捡来执行,最常见的块单位是函数。

      例如:

        function now() {

            return 21;

        }

        function later() {

          answer = answer * 2;

          console.log("Meaning of life:", answer);

        }

        var answer = now();

        setTimeout (later,1000); // Meaning of life: 42

          现在:

            function now() {

                return 21;

            }

            function later() {...}

            setTimeout(later,1000);

            setTimeout(later,1000);

          将来:

            answer = answer * 2;

            console.log("Meaning of life:", answer);

   异步控制台

      事件循环

      并行线程

        异步是现在和将来的时间间隙,而并行是关于能同时发生的事情。

        并行计算最常见的的工具就是进程和线程,并行和线程独立运行,并可能同时运行,

        在不同的处理器,甚至不同的计算机上,但多个进程能够共享单个进程的内存。

    并发

      两个或多个进程同时执行就出现了并发,不管组成他们的单个运算是否并行执行

      可以把并发看作进程及的并行,与计算级的并行相对。

    非交互

        两个或多个进程在同一个程序内并发地交替运行它们的步骤/事件时,如果这些任务彼此不相关,就不一定需要交互。

    交互

      更常见的情况是,并发的进程需要相互交流,通过DOM 间交互。

    协作

      取到一个长期运行的进程,并将其分割成多个步骤或多批人,使其他并发进程有机会将自己的运算插入到事件循环队列中交替运行。

    任务

      挂在事件循环队列的每个tick 之后的一个队列,在事件循环的每个tick 中,可能

      出现异步动作不会导致一个完整的新事件添加到新事件中,而会在当前的tick 任务队列末尾添加一个项目。

    语句顺序

        代码中语句的顺序和JavaScript 引擎执行语句的顺序并不一定一致。

        JavaScript 引擎在编译这段代码之后,可能会发现通过重新安排这些语句的顺序有可能提过速度。

 

  回调

    continuation(延续)

    顺序的大脑

      执行与计划

      嵌套回调与链式回调

    信任问题

    五个回调的故事

    省点回调

转载于:https://www.cnblogs.com/nmxs/p/7156765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值