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
相关推荐
m0_748229999 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
yqcoder9 小时前
node.js 文件操作
node.js
木偶☜10 小时前
Node.js接收文件分片数据并进行合并处理
服务器·javascript·arcgis·node.js
梦魇梦狸º13 小时前
node安装与管理
macos·node.js
16年上任的CTO14 小时前
一文大白话讲清楚webpack基本使用——6——热更新及其原理
前端·webpack·node.js·热更新·hmr·热重载
1234Wu14 小时前
NodeJs如何做API接口单元测试? --【elpis全栈项目】
单元测试·node.js
16年上任的CTO15 小时前
一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建
前端·webpack·node.js
Nejosi_念旧15 小时前
包文件分析器 Webpack Bundle Analyzer
前端·webpack·node.js
Libby博仙16 小时前
VUE3 vite下的axios跨域
前端·javascript·vue.js·前端框架·node.js
maply20 小时前
基于 Colyseus 的实时消息处理与广播机制
前端·消息队列·node.js·colyseus