我提交了一个关于堆栈溢出的问题,询问如果以前的版本已经在执行,如何停止putTestQuestionResponses()函数的执行.
答案是添加一个处理标志,它位于代码的第2行.
你能告诉我为什么这里用"let"而不是"var"吗?
var promisePutTestQuestion;
let processing = false;
onEnter: ['$interval', 'questionService',
($interval, qus: IQuestionService) => {
promisePutTestQuestion = $interval(() => {
if (processing)
return;
processing = true;
qus.putTestQuestionResponses()
.then(() => processing = false)
}, 5 * 1000);
}],
onExit: ['$interval', ($interval) => {
$interval.cancel(promisePutTestQuestion);
}]