function fn(arg1, arg2, callback){<br>var num = Math.ceil(Math.random() * (arg1 - arg2) + arg2);<br>callback(num); //传递结果<br>}<br><br>fn(10, 20, function(num){<br>console.log("Callback called! Num: " + num); <br>}); //结果为10和20之间的随机数
var fn = function (arg1, arg2) {<br> return new Promise(function(resolve, reject) {<br> var num = Math.ceil(Math.random() * (arg1 - arg2) + arg2);<br> resolve(num);<br> })<br>} <br><br>fn(10, 20).then(function(num) {<br> console.log("Callback called! Num: " + num); <br>});
var fs = require('fs'); <br>fs.readFile('sample01.txt', 'utf8', function (err, data) { <br> fs.readFile('sample02.txt', 'utf8', function (err,data) { <br> fs.readFile('sample03.txt', 'utf8', function (err, data) { <br> fs.readFile('sample04.txt', 'utf8', function (err, data) { <br> <br> }); <br> }); <br> }); <br>});
var Q = require('q'), <br> fs = require('fs'); <br>function printFileContent(fileName) { <br> return function(){ <br> var defer = Q.defer(); <br> fs.readFile(fileName,'utf8',function(err,data){ <br> if(!err && data) { <br> console.log(data); <br> defer.resolve(); <br> } <br> }) <br> return defer.promise; <br> } <br>} <br>//手动链接 <br>printFileContent('sample01.txt')() <br> .then(printFileContent('sample02.txt')) <br> .then(printFileContent('sample03.txt')) <br> .then(printFileContent('sample04.txt')); //控制台顺序打印sample01到sample04的内容