Node.js

作者: 郑无穷大 | 来源:发表于2018-08-23 13:46 被阅读0次

    一、入门

    1.fs模块

    search node.js fs 文档(文件系统模块)


    2.http模块

    search stackoverflow nodejs server


    3.express框架

    npm init -y

    npm install express

    CRM

    实现在 Express 中提供静态文件


    4.koa框架

    npm i koa

    npm i koa-send

    免费部署node.js   (search heroku github)

    http://zouzeir.xyz/2017/05/27/%E5%9C%A8Heroku-%E4%B8%8A%E9%83%A8%E7%BD%B2Node-js-%E5%BA%94%E7%94%A8/


    5.Event Loop

    JS引擎为单线程,同一时间只能做一件事情,但是会让网络(c++)去协同读取,这个问题就回到了同步和异步去理解,主线程上面同步事件依次执行,异步的事件可以再主线程通过回调来实现,移出待办事件序列,加入主线程执行序列。

    Node.js的Event Loop:

    timers 阶段:处理setTimeout / setInterval 到期回调函数;

    poll 阶段:会停留的阶段,轮询阶段,监控时间,处理回调等;(特例:空闲阶段,在操作系统处理完后立刻进行回调,若回调时间超过了预设的时间,会导致timers延时进行回调函数的处理)

    check阶段:处理setImmediate() 一般情况是先于setTimeout先执行,但是若第一次启动时间执行缓慢,setTimeout先执行;以下nextTick是永远先执行;


    6、Macro Task & Micro Task

    Macro Task(宏任务):所有setTimeout后面的回调都是宏任务;

     Micro Task(微任务):所有setImmediate和nextTick都是微任务;Promise亦;

    先执行宏任务,再执行微任务;

    主线轴,先执行同步任务,再执行微任务,最后执行宏任务里面的setTimeout的回调函数,然后循环下一轮;

    上述,同步任务为宏任务,执行完毕微任务,执行完毕再宏任务;

    相关文章

      网友评论

          本文标题:Node.js

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