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
相关推荐
鲨莎分不晴16 分钟前
【实战】老项目焕发新生:从 Webpack 平滑迁移到 Vite 避坑全记录
前端·webpack·node.js
中年程序员一枚4 小时前
nuxt安装出现certificate 错误
前端框架·npm·node.js
虹科网络安全4 小时前
艾体宝新闻 | Node.js 高危安全漏洞:堆栈溢出可能导致服务器崩溃(CVE-2025-59466)
node.js
JaredYe4 小时前
纯 Node.js 的 PDF 转 Markdown 方案:支持图片解析的pdf2md库 `node-pdf-to-markdown`
pdf·node.js·markdown·md·pdf2md
芸简新章4 小时前
Node.js学习阶段总结-阶段2
学习·node.js
程序员爱钓鱼21 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
迦南giser1 天前
webpack从0到1详解
前端·javascript·css·webpack·node.js
C_心欲无痕1 天前
使用 FNM (Fast Node Manager) 管理多个 Node.js 版本
前端·node.js
橙序员小站1 天前
解密前端包管理工具:npm、Yarn与pnpm的全面对比
前端·npm·node.js
用户427007458381 天前
第六节:添加响应中间件、redis链接、配置redis store中间件、跨域配置
node.js