《3.1-理解异步》预习资料

    预习资料名称 链接 备注
    官方图解:Chrome 快是有原因的,现代浏览器的多进程架构! https://juejin.im/post/5bd7c761518825292d6b0217 学习这篇文章可以了解浏览器的架构以及每个模块负责的工作,宏观上了解浏览器的工作原理。
    进程与线程的一个简单解释 https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 文章生动形象的比喻了进程和线程,将抽象的概念形象化了
    浏览器进程?线程?傻傻分不清楚! https://imweb.io/topic/58e3bfa845e5c13468f567d5 重点讲解线程、进程的区别,以及浏览器内核的多线程
    定时器标准 https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers 规范对定时器的说明

    《3.2-Event Loop机制》预习资料

    预习资料名称 链接 备注
    Event Loops标准 https://html.spec.whatwg.org/multipage/webappapis.html#event-loops 标准对Event Loops的说明
    Node.js 事件循环,定时器和 process.nextTick() https://nodejs.org/zh-cn/docs/guides/event-loop-timers-and-nexttick/#what-is-the-event-loop 介绍了nodejs的事件循环和定时器
    调用栈 https://developer.mozilla.org/zh-CN/docs/Glossary/Call_stack 介绍js运行调用栈
    JS中的栈内存堆内存 https://juejin.im/post/5d116a9df265da1bb47d717b

    《3.3-异步编程方法-发布/订阅》拓展学习资料

    预习资料名称 链接 备注
    EventEmitter实现源码 https://github.com/nodejs/node/blob/master/lib/events.js 建议看完视频阅读
    FsWatch实现源码 https://github.com/nodejs/node/blob/master/lib/internal/fs/watchers.js 建议看完视频阅读

    《3.4-深入理解promise》预习资料

    预习资料名称 链接 备注
    promise 基础 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise
    promises A+规范 https://github.com/promises-aplus/promises-spec
    promises A+规范测试工具用例工具 https://github.com/promises-aplus/promises-tests

    常见的Promise面试题,请同学们结合课程内容思考:
    1. 什么场景下需要使用promise?promise解决了什么问题?promise是如何解决问题的?
    2. promise有哪些常用方法,作用是什么?
    3. 如果浏览器不知道promise应该如何处理?实现一个简单的promise polyfill。
    4. 给定一段代码,给出代码打印的顺序。

    《3.5-Generator函数及其异步的应用》预习资料

    预习资料名称 链接 备注
    可迭代协议 迭代器协议 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Iteration_protocols#%E5%8F%AF%E8%BF%AD%E4%BB%A3%E5%8D%8F%E8%AE%AE 介绍可迭代协议和迭代器协议
    协程 https://cnodejs.org/topic/58ddd7a303d476b42d34c911 介绍协程
    co源码 https://github.com/tj/co 课后作业分析的源码