nodejs中的同步异步问题

node.js同步是一步步执行代码异步就是先执行同步代码,异步暂存异步储存区,同步执行完再执行异步

const fs = require('fs');
const path = require('path');
const a_path = path.join(__dirname, 'file', 'a.txt');
const b_path = path.join(__dirname, 'file', 'b.txt');
const c_path = path.join(__dirname, 'file', 'c.txt');
  1. 解决问题就是利用代码先后来弄 ```fs.readFile(a_path, “utf8”, (err, data) => { if
    (err) throw err; console.log(data); fs.readFile(b_path,
    “utf8”, (err, data) => {
    if (err) throw err;
    console.log(data);
    fs.readFile(c_path, “utf8”, (err, data) => {
    if (err) throw err;
    console.log(data);

       })    }) }) ```
    
  2. 这个就可以解决一点 但是会是回调地狱 第二种解决方案是最普遍用的

    
    function readFile(path) {
        return new Promise((resolve, reject) => {
            fs.readFile(path, 'utf8', (err, data) => {
                resolve(data);
            })
        }) } let p1 = readFile(a_path); p1.then(data => {
        console.log(data);
        return readFile(b_path); }).then(data => {
        console.log(data);
        return readFile(c_path); }).then(data => {
        console.log(data);
    
    }) ```
    

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值