AngularJS:超时不起作用

AngularJS: timeout doesn't work

我是 AngularJS 的新手。我的控制器中有这段代码:

let timeout_ = false;
let TIMELAPSE_ = 2000;
vm.setId= function (id) {
   $timeout.cancel(timeout_);
   timeout_ = $timeout(() => { SearchService.setId(id), TIMELAPSE_});
};

在我的模板中,我使用:ng-click="parent.setId(id)"timeout 似乎不起作用。为什么?

尝试将 TIMELAPSE_ 作为第二个参数解析为 $timeout 函数,你会没事的。看到这个 runnable fiddle.

let timeout_ = false;
let TIMELAPSE_ = 2000;
vm.setId= function (id) {
   $timeout.cancel(timeout_);
   timeout_ = $timeout(() => { SearchService.setId(id)}, TIMELAPSE_);
};