其實我正在閱讀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