我需要在當前模塊中使用其他模塊功能的結果。我該如何做到這一點。在node.js中如何獲取當前模塊中其他模塊函數的結果?
module1.js
var module2=require('./lib/module2');
module2.getValue();
現在我想的是 '真' 在的getValue method.How返回我能來到這裏。
在下面的代碼其他語言將工作
var result=module2.getValue();
但在node.js中,我們必須使用回調方法來獲取value.How我能做到這一點。
module2.js
exports.getValue=function(){
console.log('getValue method called.');
return true;
};
最後我改變了我的模塊1的代碼還,但我不得到那個結果作爲true.Below是我的更新模塊1碼
var module2=require('./lib/module2');
module2.getValue();
下面是我確切的代碼
server.js
var express = require('express')
, http = require('http');
var app = express();
app.configure(function(){
app.use(express.static(__dirname + '/public'));
});
var server = http.createServer(app);
var io = require('socket.io').listen(server);
server.listen(8000);
var cradle=require('cradle');
new(cradle.Connection)('https://mydomain.iriscouch.com/', 5984, {
cache: true,
raw: false
});
cradle.setup({
host: 'mydomain.iriscouch.com',
cache: true,
raw: false
});
var c = new(cradle.Connection);
exports.connObj=c;
var notifications=require('./lib/Notifications');
var notificationId="89b92aa8256cad446913118601000feb";
console.log(notifications.getNotificatiosById(notificationId));
個
Notifications.js
var appModule=require('../server');
var connectionObj=appModule.connObj;
var db = connectionObj.database('notifications');
exports.getNotificatiosById=function(notificationId){
db.get(notificationId, function (err, doc) {
console.log(doc);//im getting output for this line while running server.js file
return true;
});
};
'var result = module2.getValue();'只要你的方法是同步的就好了。 – generalhenry 2013-03-19 09:35:06
@generalhenry var result = module2.getValue(); console.log(result); //我試過這段代碼,但總是顯示結果爲undefined。 – sachin 2013-03-19 09:39:32
奇怪,試着在module1'console.dir(module2);'和'console.log(module2.getValue.toString());'看看你得到了什麼。 – generalhenry 2013-03-19 09:43:20