2015-08-13 61 views
1

假設這個簡單的模塊:異步函數結果模塊初始化

var mongoose = require('mongoose-util'); 

mongoose.myOwnCreateConnection(function(err, connection) { 
    if(err) { 
    console.log('log error somehow and make it die'); 
    module.exports = null; 
    } else { 
    module.exports = connection; 
    } 
}); 

它不會明顯地工作,但如何管理上下文模塊初始化調用?這裏最好的做法是什麼?我是否需要僅在模塊init中使用函數聲明?提前致謝。我問,因爲快遞有應用程序模塊,一切都初始化。

+0

貓鼬'createConnection'並不需要一個函數作爲它的參數:http://mongoosejs.com/docs/api.html#index_Mongoose-createConnection – krl

+0

這是不明確你在這裏試圖達到什麼 – krl

+0

對不起,這是一個簡化,我會編輯這個荒謬的瘋狂的例子:) –

回答

1

要求是同步操作。因此,這將無法正常工作,您可以使用此:

Asynchronous nodejs module exports

+0

這是相當乾淨的解決方案,但使用這個我會'延遲'(或者說推遲)異步到另一個模塊 - 因爲我正在使用這是'異步'模塊在其他「同步」模塊,所以它將需要做另一個異步模塊等。我希望你明白我的觀點,但這個解決方案真的很好。 –