13-Promise的高级用法

14,715次阅读
没有评论

共计 753 个字符,预计需要花费 2 分钟才能阅读完成。

Node.js 中的 util.promisify() 方法

Node.js 中有一个内置的方法 util.promisify(),它可以很方便地将 ES5 回调函数写法的方法,转成 Promise 写法的方法。就不需要我们手动封装 Promise 了。

代码举例:

// 引入 util 模块
const util = require('util');
// 引入 fs 模块
const fs = require('fs');

// 返回一个新的函数,这个函数是一个 Promise 对象
const readFilePromise = util.promisify(fs.readFile);
readFilePromise('readme.txt').then(res => {console.log('res:', res.toString());
});

使用 Promise 封装定时器,实现延迟函数

代码举例:

// 方法:XX 秒后执行指定的代码。这个方法,就是在宏任务(定时器)的执行过程中,创建了一个微任务(resolve)function delaySeconds(delay = 1000) {return new Promise((resolve) => setTimeout(resolve, delay));
}

delaySeconds(2000)
    .then(() => {console.log('qiangu');
        return delaySeconds(3000);
    })
    .then(() => {console.log('yihao');
    });

打印结果:

// 2 秒后打印:qiangu

// 再等 3 秒后打印:yihao

请求重试

参考链接:

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-10发表,共计753字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)