其实我正在阅读Nodejs中的一些代码,但我不明白这是什么意思,因为我不太了解function
的一些常见用法。有人能告诉我function(done)
是什么意思吗?这是一个回调或什么?在js文件中,我看不到done
的定义。由于在javascript中完成的功能
安第斯山脉
var getRedisUri = exports.getRedisUri = function (done) {
if (process.env.CLUSTER_CONFIG_URI) {
return done(null, process.env.CLUSTER_CONFIG_URI);
}
//redis uri
Fs.readFile(
'/opt/redis_uri',
{encoding: 'utf8'},
function (err, redis_uri_data) {
if (err) {return done(err);}
var redis_uri = redis_uri_data.toString();
if (process.env.NODE_ENV !== 'production' &&
process.env.VM_DOMAIN &&
(redis_uri.indexOf('localhost') !== -1 || redis_uri.indexOf('127.0.0.1') !== -1)) {
redis_uri = redis_uri.replace('localhost', process.env.VM_DOMAIN);
redis_uri = redis_uri.replace('127.0.0.1', process.env.VM_DOMAIN);
}
done(null, redis_uri);
});
};
这只是一个标准的Node.js回调。你知道回调是如何工作的吗? – 2014-11-06 03:51:01
嗨,turrle。我可以理解回调,但我无法找到done函数的位置。我怎么找到它?在IDE中我找不到它。 – wiwengweng 2014-11-06 06:20:18