AngularJS' $interval.cancel 不起作用



如标题所述,

每次我尝试使用$interval。cancel取消一个已存在的间隔,它不起作用

window.recordedAudio = undefined;
var isRecordingComplete = $interval(function(){
    console.log(window.recordedAudio);
    if (window.recordedAudio!=undefined) $timeout.cancel(isRecordingComplete);
},100);
$timeout(function(){
    window.recordedAudio = "abc";
},2000);

事实上,当window.recordedAudio!= undefinedrecordedAudio在2000ms后设置为"abc",$interval保持循环,同时

console.log(window.recordedAudio)

继续打印(+- 10次未定义,最后是ABC,但它继续打印ABC而不是停止)

您正在混合$interval$timeout.cancel

最新更新