异步.系列:内存泄漏特性
async.series: memory leak of feature?
我正在学习使用series.js
。我写了一个简单的例子-为3个函数运行async.series
。出于好奇,我创建了回调调用前后的日志输出。意想不到的是,我没有日志消息"回调后"。
我的问题是-它是内存泄漏,这些调用仍然在堆栈中等待返回?或者async.js
在回调后使用特殊的切割功能机制?我试着阅读async.js
源,没有发现任何东西。
有什么想法吗?
测试页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>My Page</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="https://raw.github.com/caolan/async/master/lib/async.js"></script>
<script type="text/javascript">
var a = function (callback) {
console.log('a before callback');
return callback(null);
console.log('a after callback');
};
var b = function (callback) {
console.log('b before callback');
return callback(null);
console.log('b after callback');
};
var c = function (callback) {
console.log('c before callback');
return callback(null);
console.log('c after callback');
};
var doit = function() {
console.log('click');
async.series([a, b, c, a, b, c], function(something) {console.log('async.series happy end: '+something);});
console.log('series finished');
};
$(function() {
$('#bu').click(doit);
});
console.log('hello');
</script>
</head>
<body id="bo" class="blue">
<input type="button" id="bu" value="click"><br />
</body>
</html>
日志输出:
hello
event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future.
click
a before callback
b before callback
c before callback
a before callback
b before callback
c before callback
async.series happy end: null
series finished
没有'after callback'日志,因为您是从带有'after callback'的行之前的函数返回的:
var c = function (callback) {
console.log('c before callback');
// the next line exits this function and nothing after it will execute
return callback(null);
// this won't execute because the function has returned.
console.log('c after callback');
};
相关文章:
- 重复应用 d3 转换导致的内存泄漏
- IE7中的blockUI插件内存泄漏25kb
- Javascript闭包-如何防止内存泄漏
- jQuery Draggable:内存泄漏
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 在Dojo类中递归调用setTimeout时是否存在内存泄漏
- 是内存泄漏
- 将处理程序留在img.onload上是内存泄漏
- 具有并发sse连接的node.js内存泄漏
- 简单对象的Javascript内存泄漏
- WeakMap是否会将我从父/子关系的内存泄漏中拯救出来
- Javascript绘制画布内存泄漏
- 为什么我的svg节点在IE中泄漏内存
- AngularJS指令包装器与Kendo一起泄漏内存
- 经过几次清理尝试后,主干仍在泄漏内存
- 这个js代码如何泄漏内存
- 未处理的postMessage是否泄漏内存
- 动态创建和销毁三.js场景,而不会泄漏内存
- 我的PyV8上下文泄漏内存
- 为什么我的数字时钟功能泄漏内存