Promise中的promisify

/***
 * 
 * 1、node核心应用、 npm 、 commonjs(原理)规范 、buffer(node中的编码)
 * 2、node 中流及流的应用原理 http相关内容,header应用 写一个http-server
 * 3、node中的express、cookie、session jwt  eggJs
 *  koa和express
 * 
 * promsie.all  可以解决的问题  回调嵌套的问题 
 * .then .then  可以同步多个异步请求的结果
 * promisify 将node的api快速的转化成promise的形式
 */
const promisify=fn=>(...args)=>{
    return new Promise((resolve,reject)=>{
        fn(...args,function(err,data){
            if(err) reject(err);
            resolve(data);
        })
    })
}

/* const fs=require('fs').promises; */
/*  const util=require('util'); */
const fs=require('fs');

 let read=promisify(fs.readFile);
 let write=promisify(fs.writeFile);
 read('name.txt','utf8').then(data=>{
     console.log(data)
 })
/*  fs.readFile() */

 

你可能感兴趣的:(node)