Discuss / JavaScript / 一个执行顺序问题

一个执行顺序问题

Topic source

发现一个问题,在同时执行异步读取文件和写文件的操作中,输出结果和单步调试都表明是先执行较小文件(文本文件)后执行较大文件(图片),有人能解释下这是什么原因吗。

代码如下:

'use strict';

var fs = require('fs');

  // 异步读取二进制文件
fs.readFile('sample/sample.png', function(err,data){
    if (err) {
        console.log(err);
    } else {
        console.log(data);
        console.log(data.length+'bytes');
    }
})

 // 异步写文件
var data = 'Hello,Node.js!';
fs.writeFile('sample/output.txt',data,function(err){
    if (err) {
        console.log(err);
    } else {
        console.log('ok!')
    }
})

逍遥狼cool

#2 Created at ... [Delete] [Delete and Lock User]

你可以理解为,谁先完成异步读取,先执行谁的回调


  • 1

Reply