函数式编程与 JS 异步编程、手写 Promise

函数式编程与 JS 异步编程、手写 Promise

简答题

  1. 谈谈你是如何理解 JS 异步编程的?
  2. EventLoop、消息队列都是做什么的?
  3. 什么事宏任务,什么是微任务?
  • JS 异步编程

    JavaScript 语言的执行环境是单线程的,一次只能执行一个任务,多任务需要排队等待,这种模 式可能会阻塞代码,导致代码执行效率低下。为了避免这个问题,出现了异步编程。一般是通过 callback 回调函数、事件发布/订阅、Promise 等来组织代码,本质都是通过回调函数来实现异 步代码的存放与执行。

  • EventLoop 事件循环和消息队列
    EventLoop 是一种循环机制,不断去轮询一些队列,从中找到需要执行的任务并按顺利执行 的一个执行模型。

    消息队列 是用来存放宏任务的队列,比如定时器时间到了,定时器内传入的方法引用会存 到该队列,ajax 回调之后的执行方法也会存到该队列。

posted @ 2022-08-23 14:08  小小紫苏  阅读(32)  评论(0)    收藏  举报