node模块

62 阅读1分钟

promisify

实现一个 node 异步函数的 promisify?

promisify 作用是把回调函数转成 promise 形式

即调用该回调函数的时候有 2 个参数,第一个是错误信息,其次才是真正要返回的内容,Promisify 就是把第二个参数转化为 promise

function Promisify(fn) { return (...rest) => { return new Promise((resolve, reject) => { rest.push((error, ...con) => { if (error) { reject(error); } resolve(con); }); // fn.apply(this, rest); Reflect.apply(fn, this, rest); }); }; }

// 输入: // 原有的callback调用 fs.readFile('test.js', function (err, data) { if (!err) { console.log(data); } else { console.log(err); } }); // 输出: // promisify后 var readFileAsync = promisify(fs.readFile); readFileAsync('test.js').then( (data) => { console.log(data); }, (err) => { console.log(err); }, ); 13.Node 的日志和负载均衡怎么做的?

14.Node 开启子进程的方法有哪些?

child_process / cluster 模块

15.在操作系统中,进程和线程如何进行通信?请列举几种常见的进程间通信方式。