nodejs 学习三 异步和同步


同步函数

for (let i = 0; i < 10; i ++) {
    setTimeout(() => {
        console.log(`${i} ______ ${new Date}`);
    },500);
}

发现秒数都是11

异步函数

const fs = require('fs');
const chalk = require('chalk');

const file1 = 'test1.txt';
const file2 = 'test2.txt';

// file1 文件的大小是远远大于file2的文件大小

// 异步1
fs.readFile(file1,(err,data)=>{
    if(err) {
        console.error(err);
        return;
    }
    let async_txt = data.toString();
    console.log(async_txt);

    console.log(chalk.red('Async1'));
});

// 同步
const data = fs.readFileSync(file1);
let sync_txt = data.toString();
console.log(sync_txt);

console.log(chalk.red('Sync'));

// 异步2
fs.readFile(file2,(err,data)=>{
    if(err) {
        console.error(err);
        return;
    }
    let async_txt = data.toString();
    console.log(async_txt);

    console.log(chalk.red('Async2'));
});

你会发现 Async2 不是最后一个打印出来,而是Async1是最后打印的。

从写法可以看出,异步执行函数(或方法)都含有回调函数。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM