阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js util.promisify

      Node.js util.promisify(original)

      新增于: v8.0.0

      • original < Function>
      • Returns: < Function>

      让一个遵循异常优先的回调风格的函数, 即 (err, value) => … 回调函数是最后一个参数, 返回一个返回值是一个 promise 版本的函数。

      例如:

      const util = require('util');
      const fs = require('fs');
      
      const stat = util.promisify(fs.stat);
      stat('.').then((stats) => {
        // Do something with `stats`
      }).catch((error) => {
        // Handle the error.
      });
      

      或者,使用async function获得等效的效果:

      const util = require('util');
      const fs = require('fs');
      
      const stat = util.promisify(fs.stat);
      
      async function callStat() {
        const stats = await stat('.');
        console.log(`This directory is owned by ${stats.uid}`);
      }
      

      如果原本就有 original[util.promisify.custom] 属性, promisify 会返回它的值, 查阅 Custom promisified functions.

      promisify() 会在所有情况下假定 original 是一个最后的参数是回调函数的函数,如果它不是,那么返回的函数的返回值为 undefined。


      更多内容请参考:Node.js util 实用工具,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录