【发布时间】:2017-11-19 18:43:12
【问题描述】:
我有一个长时间运行的函数,我并不真正关心如何正确处理。将它与空回调一起交给事件循环并继续前进是不好的做法。像这样的:
var takeSomeTime = function(callback) {
var count = 0,
max = 1000,
interval;
interval = setInterval(function() {
count++;
if (count === max) {
interval.clearInterval();
return callback();
}
}, 1000);
};
var go = function(callback) {
// do some stuff
takeSomeTime(function(err) {
if (err) {
console.error(err)
}
// take all the time you need
// I'm moving on to to do other things.
});
return callback();
};
go(function(){
// all done...
});
【问题讨论】:
-
如果您不将函数传递给
go(),那么return callback()将失败并出现错误,指出callback is not a function -
哎呀。解决了这个问题。
标签: javascript memory-leaks callback event-loop