heroicYang
2013-06-03 22:47:39 +08:00
简单回一个吧,回调函数就是你做完某事调我就行,这里面不一定涉及到异步。比如:
function a (callback) {
var now = new Date;
while (new Date - now <= 5000) {}
callback && callback();
}
a(function () { console.log('callback'); });
和
a();
console.log('callback');
并没有扯到所谓的异步。
function b (doSomething, doAnother) {
// 不好意思我要占用太久时间,doAnother你要等不及就先不管我吧
setTimeout(function () {
var now = new Date;
while (new Date - now <= 5000) {}
doSomething && doSomething();
}, 0);
doAnother && doAnother();
}
b(function () {
console.log('do something...');
}, function () {
console.log('do another...');
});
这里的doSomething和doAnother都是回调,但是它们在内部就是异步执行的了。。
异步编程主要就是解决等待问题...