2023-10-19 node.js-将异步处理修改为同步-使用Promise和async-记录

摘要:

2023-10-19 node.js-将异步处理修改为同步-使用Promise和async-记录

使用promise和async将异步修改为同步:

javascript 复制代码
const fs = require('fs');

f1 = function() {
    return new Promise(resolve => {
        fs.readFile('f1.txt', 'utf8', (err, data) => {
            if (err) reject(err);
            else resolve(data);
        });
    });
}

async function asyncCall() {
    console.log('calling');
    const result = await f1();
    console.log(result);
    return result;
}

asyncCall();

思路分析:

  1. 将异步操作使用 Promise 处理,返回值用 resolve(data) 返回
  2. 调用 包裹 Promise 的函数, 使用 await
  3. 注意asyncCall函数,在这个函数, 使用async处理,在里面调用异步函数f1
相关推荐
FungLeo36 分钟前
成为全栈·Node 后端篇·文件上传:R2 / 本地磁盘双实现与签名直传
node.js·文件上传·成为全栈·cloudflare r2·文件去重
FungLeo2 小时前
成为全栈·Node 后端篇·认证方案:JWT 还是 Session
node.js·jwt·session·认证方案
FungLeo7 小时前
成为全栈·Node 后端篇·文章 CRUD 与投稿状态机
node.js·状态机·crud·成为全栈
晴天1610 小时前
Webpack3/4/5 核心差异、性能升级与迁移实战指南-Day38
webpack·node.js
大牧师11 小时前
Nest.js 微服务入门教程
开发语言·javascript·后端·微服务·node.js·nest.js·nest
wxwx_bscxy32221 小时前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警
FungLeo1 天前
成为全栈·Node 后端篇·列表接口三件套:分页、筛选、排序
node.js·列表排序·列表分页·成为全栈·列表接口设计·列表筛选
晴天161 天前
浏览器中ESM与AMD模块共存的解决方案
前端·node.js
晴天161 天前
Node.js 模块化混合开发指南:CommonJS / ESM 混用适配方案与落地配置
node.js
FungLeo1 天前
成为全栈·Node 后端篇·分类与标签:多对多关系的建模与查询
node.js·成为全栈·分类与标签·多对多关系建模·多对多关系查询