美文网首页
7.同步、异步和事件循环(精简)

7.同步、异步和事件循环(精简)

作者: webj | 来源:发表于2018-08-22 14:13 被阅读0次

1.什么是单线程,和异步的关系

       (1) 单线程 - 只有一个线程,只能做一件事

        (2)原因 - 避免 DOM 渲染的冲突

                 浏览器需要渲染 DOM

                JS 可以修改 DOM 结构

                JS 执行的时候,浏览器 DOM 渲染会暂停

                两段 JS 也不能同时执行(都修改 DOM 就冲突了)

                webworker 支持多线程,但是不能访问 DOM

        (3)解决方案 - 异步

2.什么是 event-loop

        实际上,主线程只会做一件事情,就是从消息队列里面取消息、执行消息,再取消息、再执行。当消息队列为空时,就会等待直到消息队列变成非空。而且主线程只有在将当前的消息执行完成后,才会去取下一个消息。这种机制就叫做事件循环机制,取一个消息并执行的过程叫做一次循环。

        (1)事件轮询,JS 实现异步的具体解决方案

        (2)同步代码,直接执行

        (3)异步函数先放在 异步队列 中

        (4)待同步函数执行完毕,轮询执行 异步队列 的函数

3.Promise 的基本使用和原理

        (1)基本语法回顾

        (2)异常捕获

        (3)多个串联

        (4)Promise.all 和 Promise.race

        (5)Promise 标准

4.介绍一下 async/await

        (1)then 只是将 callback 拆分了

        (2)async/await 是最直接的同步写法

        (3)语法

相关文章

  • 7.同步、异步和事件循环(精简)

    1.什么是单线程,和异步的关系 (1) 单线程 - 只有一个线程,只能做一件事 (2)原因 - 避免...

  • 浅谈JavaScript事件循环与Vue的批量异步更新策略

    在介绍事件循环之前,首先要明确以下几个关键概念。事件循环,同步和异步任务,宏任务,微任务。 一.事件循环 事件循环...

  • 异步编程

    同步与异步 同步:按代码顺序依次执行 异步:先执行同步代码,完成后再执行异步代码 事件循环与消息队列:当代码执行到...

  • node 异步 I/O

    这篇文章主要讲 nodejs 中的异步 IO,关于同步、异步、阻塞、非阻塞 请移步这里。 事件循环 和 消息队列 ...

  • 异步编程

    拉勾大前端的笔记,仅作为学习记录 内容概要 同步模式和异步模式 事件循环和消息队列 异步编程的几种方式 Promi...

  • JavaScript的同步,异步和事件循环

    写篇文章,弄清楚些JavaScript的同步,异步和事件循环这些概念 一.所谓单线程: 是指在js引擎中负责解释和...

  • js事件循环机制

    js事件循环机制 一、 执行栈 二、 任务队列(同步任务和异步任务) 三、 宏任务和微任务 四、 浏览器下的事件循...

  • I/O模型与多路复用

    同步、异步、阻塞、非阻塞 同步 & 异步 同步与异步是针对多个事件(线程/进程)来说的。 如果事件A需要等待事件B...

  • 编程基础 之 同步异步和阻塞非阻塞的区别

    同步和异步 同步:执行者主动获取事件结果 异步:执行者被动获取事件结果 同步:我要主动看水烧开没异步:水开时,水壶...

  • 夯基础- js event loop机制

    js运行机制 event loop事件循环 js分为同步任务和异步任务,所有的同步任务都在主线程上执行 另外存在着...

网友评论

      本文标题:7.同步、异步和事件循环(精简)

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