当使用_.debounce()
和restangular
时,我在角度v1.1.5中遇到了一个奇怪的错误。 它在调用下一个debounce
之前不会触发重复请求,这很奇怪。我做了一个plunker演示为您的观看乐趣。当使用_.debounce()和angular v1.1.5时,Restangular请求被暂停
我用最新版本的角度测试它,它的工作原理。很遗憾,我无法升级。所以我想知道是否有人知道发生了什么事情以及可能的解决方法。
这是麻烦的指令(不介意的要求目标,我只是需要一些公共API对查询):
app.directive('delayed', function(Restangular) {
return {
require: 'ngModel',
link: function(scope, element, attrs, c) {
var request = function(someValue) {
$('#expected-output').append('Delayed execution: ' + someValue + '<br/>');
$('#actual-output').append('Delayed execution: ' + someValue + '<br/>');
var params = {
client_id: 'GY4W5CTM20CNKUYWQ0AO1FZEW3H0SMAS1EI5QEHRL3RJZVYG',
client_secret: 'CKWHBUAKO2MQF4OTWCKLPIS4WQOZLKBRFKVP5NSVTHHWXXXH'
};
var venueId = '40a55d80f964a52020f31ee3';
Restangular.one("venues", venueId).get(params)
.then(function(data) {
$('#actual-output').append('Success: ' + someValue + '<br/>');
});
$('#expected-output').append('Success: ' + someValue + '<br/>');
};
var delayedRequest = _.debounce(request, 1000);
c.$parsers.unshift(function(someValue) {
delayedRequest(someValue);
});
}
};
});
If you missed the demo link, well here it is again :)