Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 回调函数模块_Javascript_Node.js - Fatal编程技术网

Javascript 回调函数模块

Javascript 回调函数模块,javascript,node.js,Javascript,Node.js,我当前编写此脚本以在节点中运行: console.log('Node starting...'); var fs = require('fs'); fs.readFile('./app.js', function(err, data){ // if(err) throw err; console.log(data.toString()); }); 我知道传递给readFile(file,callback(err,data))的函数是一个回调函数,它将在收到数据参数时执行 我的问

我当前编写此脚本以在节点中运行:

console.log('Node starting...');
var fs = require('fs');
fs.readFile('./app.js', function(err, data){
    // if(err) throw err;
    console.log(data.toString());
});
我知道传递给readFile(file,callback(err,data))的函数是一个回调函数,它将在收到数据参数时执行

我的问题是,我不知道到底是什么在向这个函数传递数据

文件说明

回调传递了两个参数(err,data),其中data是 文件的内容


究竟是什么将参数传递给回调函数?

函数获取数据,然后将数据作为参数调用回调函数

您可以自己编写这样一个函数(事实上,随着您更多地使用Node.js,您可能会经常这样做),如下所示:

function readFile(filename, callbackFunction) {
  var data;

  // ...do some work to get the data...

  if(somethingBadHappened) {
    callbackFunction("An error occurred!")
    return;
  }

  // success!
  callbackFunction(null, data);
}
您可以像使用fs.readFile一样使用它:

function myCallback(err, data) {
  console.log( data.toString() );
}

readFile( './myfile.txt', myCallback );
如果你愿意,你可以阅读。它很短(但比我的例子要复杂一点)