नहीं, यह असंभव है जब आप नहीं जानते कि डेटाबेस पहले से जुड़ा हुआ है या नहीं। यदि आपको पहले कनेक्ट करने की आवश्यकता हो, और वह एसिंक्रोनस है, तो this.db
एक वादा करना होगा, और आपको then
. का उपयोग करना होगा ।
ध्यान दें कि ब्लूबर्ड के साथ आप उस कोड को थोड़ा छोटा कर सकते हैं, और उस क्रिया से बच सकते हैं .then()
का उपयोग करके कॉलबैक करें .call()
विधि
:
Job.prototype.getDb = function() {
if (!this.db)
this.db = Mongo.connectAsync(this.options.connection);
return this.db;
};
Job.prototype.test = function() {
return this.getDb().call('collection', 'abc').call('findAsync');
};