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
相关推荐
FungLeo9 小时前
成为全栈·Node 后端篇·辅助接口:相邻、相关、目录、统计与搜索
node.js·成为全栈
抓不住时间的沙15 小时前
Butterfly主题 5.7 导航栏添加相册同时设置相册入口密码
css·python·node.js
FungLeo16 小时前
成为全栈·Node 后端篇·通知系统:事件消费与已读态管理
node.js·成为全栈·通知系统·事件消费·已读状态管理
西瓜太郎4991 天前
API Key 轮换不该靠“瞬间替换”:用双 Key 灰度避免线上中断
node.js·api
星辰徐哥2 天前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion
ID34610744202 天前
【课程设计】基于Spring Boot+Vue的校园共享无人机服务系统设计与实现-计算机毕设 附源码44219
javascript·vue.js·spring boot·python·node.js·php·课程设计
敲敲敲敲暴你脑袋2 天前
地图瓦片批量改色来啦!
node.js·gis·数据可视化
太子釢3 天前
AI 开发个人记账 App(服务端篇)
node.js·ai编程
用户64340495148513 天前
Elpis 项目构建工具与前端基建实践总结
node.js
FungLeo3 天前
成为全栈·Node 后端篇·后端测试策略:单元、集成与测试数据库
单元测试·node.js·集成测试·测试策略·成为全栈·测试数据库