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
相关推荐
东风破_10 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
东风破_11 小时前
danci 项目(三):从 JSON 数据到 AI Coding,真实项目里的数据清洗、Prompt 和工程规范
前端·后端·node.js
东风破_11 小时前
danci 项目(一):从需求到架构,一个单词学习系统为什么会这样设计
前端·后端·node.js
__zRainy__17 小时前
Node系列 · Express:常用的中间件
中间件·node.js·express
时寒的笔记19 小时前
jsvmp04_某yuan宝日志还原rc4
node.js
coderCN19 小时前
Nodejs 第三十四章 数据库(表达式和函数、子查询和连表)
前端·node.js
5233AI开发笔记1 天前
Node.js 调用 API:为什么秘密型 Key 不能放前端
node.js
2601_962076251 天前
Node.js 完全教程:从入门到精通
node.js
超级码里奥20241 天前
OpenClaw(龙虾[特殊字符])AI 智能体安装教程
windows·node.js
ruanCat2 天前
Prettier 明明执行成功,Markdown 为什么还是没变?一次插件误诊复盘
前端·javascript·node.js