美文网首页我爱编程
Node IO 函数编程在Node的应用

Node IO 函数编程在Node的应用

作者: Leon木木森 | 来源:发表于2018-04-12 07:27 被阅读0次

什么是IO?
访问网站,输入地址吐出一个IO

前端通过异步IO可以消除UI堵塞
假设请求资源A的时间为M,请求资源B的时间为N。那么同步的请求耗时为M+NN,如果采用异步方式占用时间为Max(M,N)
随着业务的复杂,会引入分布式系统,时间回线性的增加,M+N+... 和Max(M,N···),这会放大同步和异步之间的诧异
I/O是昂贵的,分布式I/O是更昂贵的
CPU时钟周期:1/cpu主频
根据情况选择同步还是异步,没有谁最好;它们是相辅相成的。

NodeJS适用于IO密集型,不适用CPU密集型

node虽然是单线程,但是有辅助线程,
Libuv(需要会C的知识)
封装了window、Linux操作系统,用V8 node写的一个库。


image.png

有几个特殊的API
1、setTimeout\setInterval 线程池不参与
2、process.nextTick() 实现类似
setTimeout(function(){},0);每次调用放在队列中,在下一轮循环中取出
3、setImmediate();比process.nextTick()优先级低
4、Node如何实现一个Sleep?
async function test(){
console.log("hello");
await sleep(1000);
console.log("world!");
}
function sleep(ms){
return new Promise(resolve => setTimeout(resolve,ms))
}
test();

函数式编程在Node中的应用
1、高阶函数:可以将函数作为输入或者返回值,形成一种后续传递风格的结果接受方式,而非单一的返回值形式。后续传递风格的程序将函数业务重点从返回值传递到回调函数种。
app.use(function(){//todo})
var emitter =new events.EventEmitter;
emitter.on(function(){//`````````.todo})
2、 偏函数:指定部分参数产生一个新的定制函数的形式就是偏函数。Node中异步编程非常常见,我们通过烧饼变量会很容易造成业务的混乱。underscore,after变量

相关文章

  • Node IO 函数编程在Node的应用

    什么是IO?访问网站,输入地址吐出一个IO 前端通过异步IO可以消除UI堵塞假设请求资源A的时间为M,请求资源B的...

  • nodejs笔记2(回调函数和事件循环)

    回调函数 Node.js 异步编程的直接体现就是回调。Node 使用了大量的回调函数,Node 所有 API 都支...

  • node.js学习

    一.node知识 1.回调函数,即异步IO的node处理方式:时间循环,观察者,请求对象,io线程。 先在线程池处...

  • 01node.js

    01、模块 02、关注学习 03、Node.js 回调函数Node.js 异步编程的直接体现就是回调。异步编程依托...

  • Node基础

    Node基础 为什么学习Node? IO优势对于文件读写,Node采用的是非阻塞IO传统IO在读写文件的时候CPU...

  • 回调函数

    Node.js 异步编程的直接体现就是回调。回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Nod...

  • node事件机制

    什么是node事件机制 node都说是事件驱动的IO,那到底什么是node中的事件机制呢 在node事件机制,需要...

  • Node.js学习(8.5)

    Node.js安装配置 指令式编程思维 顺序 选择 循环 函数式编程思维 函数 抽象化函数 JavaScript语...

  • 二:Node编程

    Node编程 node终端交互(REPL): 退出:两次ctrl+c2.回调函数(阻塞VS非阻塞) 注释: 同步和...

  • Node学习(3)--异步编程

    Node.js 回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回...

网友评论

    本文标题:Node IO 函数编程在Node的应用

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