我实现了一个网络应用程序并使用谷歌开发人员工具监控了性能。我注意到听众不断增加,听众数量也在不断增加。
听众增加的部分看起来像这样
let ival = $interval(function () {
$http.get('someurl') // this call is actually done through a service, don't know if that matters
}, 1000)
我会理解堆是否由于垃圾收集器未收集某些数据而增长,但我不明白为什么侦听器会增加?
这是一个可重现的最小示例:
index.html 文件:
<!doctype html>
<html ng-app="exampleModule">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div ng-controller="someController">
</div>
</body>
</html>
和 script.js 文件:
angular.module("exampleModule", [])
.controller("someController", [ "$http", "$interval", function ($http, $interval) {
$interval(function () {
$http.get('script.js')
}, 1000)
}])
观看表演时的结果与上图相同。您应该使用一个简单的网络服务器来发出 GET 请求。