Node.js中promisify()方法有什么作用

本篇内容主要讲解“Node.js中promisify()方法有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中promisify()方法有什么作用”吧!

Node.js内置的util模块有一个promisify()方法。

1、该方法将基于回调的函数转换为基于Promise的函数。

2、可以将Promise链和async/await与基于回调的API结合使用。

Node.js的fs模块在读取文件时,需要使用回调:

const fs = require('fs')
 fs.readFile('./package.json', function callback(err, buf) {
  const obj = JSON.parse(buf.toString('utf8'))
  console.log(obj.name) // 'Example' -> package.json 包名
})
可以使用util.promisify()将fs.readFile()的回调函数转换为返回Promise函数:
const fs = require('fs')
const util = require('util')
// 将 fs.readFile() 转换为一个接受相同参数但返回 Promise 的函数。
const readFile = util.promisify(fs.readFile)
// 现在可以将 readFile() 与 await 一起使用!
const buf = await readFile('./package.json')
const obj = JSON.parse(buf.toString('utf8'))
console.log(obj.name) // 'Example'

到此,相信大家对“Node.js中promisify()方法有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!