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
相关推荐
是谁眉眼1 天前
npm执行错误 但黑窗口node可以成功启动问题分析
前端·npm·node.js
donecoding1 天前
Monorepo 里有 app 也有共享包,lerna 真的还需要吗?
前端·node.js·前端工程化
阿正的梦工坊1 天前
认证、授权、JWT、密码哈希:Node.js 鉴权到底在做什么
算法·node.js·哈希算法
Bigger2 天前
Bun 能上生产吗?我的实战结论
前端·node.js·bun
不会敲代码12 天前
从零搭建 RAG 电子书智能问答系统:天龙八部 × Milvus × LangChain
langchain·node.js·llm
Beginner x_u2 天前
前端八股整理(手写 01)|Promise 超时控制、红绿灯与 Promise.all
前端·javascript·promise
donecoding3 天前
nrm、corepack、npm registry 三者的爱恨情仇
前端·node.js·前端工程化
明月_清风3 天前
关于node 模块化的现状与未来
前端·node.js
李白的天不白4 天前
webpack 与 webpack-cli 版本匹配问题
前端·webpack·node.js
李白的天不白4 天前
webpack 与axios 版本冲突问题
前端·webpack·node.js