async का उपयोग करना बहुत आसान हो सकता है।
दिन के अंत में सभी व्यावसायिक तर्क/कार्य केवल संचालन का एक क्रम है। जलप्रपात एक अमूर्तता है जो आपके समाधान के लिए बहुत उपयोगी है।
उदाहरण के लिए:Seed.js
var User = require('../path/to/your/models/User');
var Post = require('../path/to/your/models/Post');
var DB = require('../path/to/your/database/boot/module');
var config = require('../path/to/your/configuration');
function startDB(config, callback) {
DB.start(config, callback);
}
function createUsers(userParams, callback) {
User.save(userParams, callback);
}
function createPost(users, callback) {
Post.save(users, callback);
}
function resolvedCallback(err, posts) {
if (err)
return your-error-handling-here;
console.log(posts);
DB.cleanup(console.log.bind(null, 'clean up finished: '));
}
async.waterfall([
async.constant({ db: config.dbOpts}),
startDB, // we don't need the wrapper, we could use DB.start
createUsers,
createPost ], resolvedCallback);
यदि आप कुछ परीक्षण ढांचे (मोचा/टेप) का उपयोग कर रहे हैं, तो आप अपने सभी परीक्षणों से पहले डेटाबेस को प्रारंभ कर सकते हैं और सभी परीक्षणों के शुरू/बाद में सफाई कर सकते हैं।
चीयर्स