模組
(Module
)
a.js
module.exports = function() {
console.log('a starting');
}
b.js
module.exports = function() {
console.log('b starting');
}
main.js
var a = require('./a.js');
var b = require('./b.js');
a();
b();
console.log('main starting');
/* ==>
a starting
b starting
main starting
*/
a.js
'use strict';
module.exports = function (callback) {
setTimeout( function() {
console.log('a starting');
return callback();
}, 3000 );
}
b.js
'use strict';
module.exports = function (callback) {
setTimeout( function() {
console.log('b starting');
return callback();
}, 1000 );
}
var a = require('./a.js');
var b = require('./b.js');
a(function() {
b(function() {
console.log('main starting');
});
});
/* ==>
a starting
b starting
main starting
*/
var async = require('async');
var a = require('./a.js');
var b = require('./b.js');
async.series([
function(next){
a(function() {
next();
})
},
function(next){
b(function() {
next();
})
}
],
function(err){
console.log('main starting');
});
/* ==>
a starting
b starting
main starting
*/
/**
*
*
*/
@param {String} flags
@param {String} description
@param {Function|Mixed} fn or default
@param {Mixed} defaultValue
@param {Array} argv
@param {Number} width
@param {Object} arg
@param {Boolean} arg
@param {Function} fn