2017-03-16 65 views
3

我是AngularJS的新手。我有這樣的代碼在我的控制器: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似乎不起作用。爲什麼?

+0

控制檯中的任何錯誤? – lin

+0

不,沒有任何錯誤。 – Anna

+0

'setId()'被執行? – lin

回答

3

嘗試解析TIMELAPSE_作爲第二個參數到$timeout函數,你會沒事的。看到這個runnable fiddle

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