美文网首页
同步和异步

同步和异步

作者: 青乌 | 来源:发表于2020-08-18 11:03 被阅读0次

同步概念

由于JavaScript是单线程的,在浏览器里代码按顺序执行,这就是同步。

异步概念

异步的来源:JavaScript是单线程的,一些比较耗时的代码(比如setTimeout、Ajax)会阻塞线程。为了提高代码执行的速度就有了异步。以下是异步执行顺序:

  • 先执行同步函数
  • 将回调放入消息队列
  • 事件轮询监听堆栈是否为空,堆栈为空就把回调函数在主线程最后追加执行。

es6加了任务队列概念(供promise使用),优先级高于消息队列。所以promise会优先setTimeout先执行。

-- 单线程就好比买东西只排一个队,浏览器给提供了一个窗口即主线程。
-- DOM、AJAX、setTimeout等等是webapi,运行环境提供的,不是js的api。
-- JavaScript设计的时候它自己没有这些,所以到es6它才具有自己的异步,消息队列是浏览器(运行环境)提供的。

JS中的异步操作

1、定时器(setTimeout setInterval)
2、AJAX中一般我们都采取异步操作(也可以同步)
3.promise等异步函数

相关文章

  • UNIX 的5种IO模型介绍

    IO模型同步、异步、阻塞、非阻塞socket阻塞与非阻塞,同步与异步 同步和异步 同步/异步主要针对C端-同步就像...

  • 📕 史上最实用的JS笔记

    1. 同步与异步 同步和异步的区别是什么?分别举一个同步和异步的例子 同步会阻塞代码执行,而异步不会阻塞代码执行。...

  • Java AIO基础

    Java AIO(异步IO)特性是在Java7引入的。 [TOC] 同步异步、阻塞非阻塞的理解 同步和异步 同步和...

  • 阻塞、非阻塞、异步、同步

    异步和同步 异步和同步关心的是消息通信机制(synchronous communication / asynchr...

  • 多线程-相关概念

    一.同步(Synchronous)和异步(Asynchronous) 同步和异步通常用来形容一次方法调用,同步方法...

  • ES6 Promise 异步1

    - 异步 和 同步 promise对象: 用同步方式书写异步代码 promise 让异步写起来,像写同步一样流程...

  • JS 函数的执行时机

    1.同步和异步的区别 我们都知道JS里面有同步和异步的区别,怎么理解同步和异步呢。一家餐厅吧来了5个客人,同步的意...

  • I/O模型

    在学习I/O模型前,我们首先介绍同步和异步、阻塞和非阻塞的概念 1. 同步和异步 同步和异步是针对应用程序和内核的...

  • 2017年12月10日daliy

    ## 同步 异步 同步和异步关注的是消息通信机制(synchronous communication/ async...

  • GCD详解

    一 使用步骤 创建队列(串行队列或并发队列) 调用函数(同步或异步) 二 重要概念 1,同步和异步 同步或异步最大...

网友评论

      本文标题:同步和异步

      本文链接:https://www.haomeiwen.com/subject/nikhjktx.html