Promise:消除异步代码写法,用同步的方法来写异步操作
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件 (通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。
/*******promise的基本用法**********/
const fs=require('fs')
new Promise((resolve,reject)=>{
fs.readFile("./package.json",(err,data)=>{
if(err) reject(err)
else resolve(data)
})
})
.then(data=>{
data=JSON.parse(data)
console.log(data)
})
.catch(err=>{
console.log(err)
})
/********在node中使用promisify简化Promise********/
//Promisify生成了Promise对象
const util=require('util');
util.promisify(fs.readFile)("./package.json")
.then(JSON.parse)
.then(data=>{
console.log(data.name)
})
.catch(err=>{
console.log(err)
})