草庐IT

func_timeout

全部标签

javascript - AngularJS - 仅在 ng-change 上触发 $timeout 事件一次

我在绑定(bind)到范围变量的html输入字段上有一个ng-change。varchange=function(){redraw_graph()}现在,当我更改输入框时,它会为我输入的每个新字符重新绘制图形。我想要延迟(N秒),所以在ng-change事件触发之前,angular会等待用户完成输入。如果触发了多个ng-change事件,它会取消较早的事件,只执行最新的事件。我已将延迟与超时结合起来,但在N秒后,ng-change事件仍然触发不止一次。我以前解决过这个问题,但我目前不知道该怎么做。 最佳答案 对我来说,您所要求的似乎

javascript - $timeout 函数中的 AngularJS 'this' 引用不起作用

我有一个让我发疯的AngularJS问题。我有一个看起来像这样的服务(这是一个说明问题的例子)varapp=angular.module('test-module');app.service('ToolService',function($timeout){this.doSomething=function(){console.log("yunoreferencedasmethod?!?");}this.runTimeoutExample=function(){$timeout(function(){this.doSomething();},1000);}})我的Controller看

javascript - jasmine.clock().tick() 不适用于 $timeout 和 debounce,但适用于 setTimeout

下面我有3个功能完全相同。每种调用setTimeout的方式不同,delay1()直接使用setTimeout,delay2()使用angularjs$timeout和delay3()使用lodashdebounce。它们都工作正常。问题出现在我用Jasmine测试的时候。setTimeout可以与jasmine.clock().tick()方法配合使用,但$timeout和debounce不适用't我有兴趣使用Jasmine进行去抖动。我知道我可以将$timeout.flush()与angularjs一起使用,但是$timeout和setTimeout在我使用的代码的其他地方给我带来

javascript - 如何让 Protractor 不等待 $timeout?

我正在使用Protractor测试我的Angular应用程序。用户登录到我的应用程序后,我设置$timeout以在一小时内完成一些工作(因此,如果用户在13:00登录,则$timeout将在14:00运行)。我不断遇到这些失败:"TimedoutwaitingforProtractortosynchronizewiththepageafter20seconds.Pleaseseehttps://github.com/angular/protractor/blob/master/docs/faq.md.Thefollowingtaskswerepending:-$timeout:func

javascript - $timeout 仍然是等待 Angular 指令模板的最佳实践吗?

我们团队等待指令模板呈现的设计模式是将我们的DOM操作代码包装在$timeout中(在指令的链接函数内),我曾经知道这是正常的设计模式。这仍然是正确的,还是有更好/更安全的设计模式来做到这一点?模式示例在ECMAScript6中:link:($scope,$element)=>{$timeout(()=>{vardomElementFromTemplate=$element.find('myDOMElement');}} 最佳答案 当您尝试选择DOM中可用的元素时:IMO从来都不是最佳实践,因为不需要为同步dom选择函数创建异步行为

javascript - Firebase 的云功能 : completing long processes without touching maximum timeout

当视频上传到firebase存储时,我必须将视频从webm转码为mp4。Ihaveacodedemoherethatworks,但如果上传的视频太大,转换完成前firebase函数会超时。我知道可以增加函数的超时限制,但这看起来很麻烦,因为我永远无法确认该过程将花费比超时限制更少的时间。有没有什么方法可以在不增加最大超时限制的情况下阻止firebase超时?如果没有,是否有一种方法可以完成耗时的过程(如视频转换),同时仍然让每个过程开始使用firebase函数触发器?如果即使使用firebase函数完成耗时的过程也不是真正存在的东西,是否有某种方法可以在不影响质量的情况下加快fluen

Javascript IOS5 "JavaScript execution exceeded timeout"

以下测试基本上是~1000次数学运算,并且在大多数PC和android浏览器以及iOS4.x上运行良好。在iOS5safari(iPhone4和iPad2)上,我们得到“JavaScript:错误未定义的JavaScript执行超出超时”。非常感谢任何帮助。/**Convertsnumericdegreestoradians*/if(typeof(Number.prototype.toRad)==="undefined"){Number.prototype.toRad=function(){returnthis*Math.PI/180;}}functiongc(lat1,lon1,la

javascript - 使用 AngularJS 的 $timeout 时,默认延迟是多少?

关于非常简短的AngularJS$timeoutdocumentationpage,'delay'参数是可选的。在未指定延迟的情况下使用$timeout时,我注意到仍然应用了延迟。谁能告诉我当参数隐含时,延迟分配了多少时间? 最佳答案 当省略$timeout延迟时,默认为0。但是,其中包含的代码块是在Angular操作DOM之后执行的。查看对AngularJS$evalAsyncvs$timeout的回复 关于javascript-使用AngularJS的$timeout时,默认延迟是多

javascript - AngularJS fn is not a function error using $timeout with a function with parameters 错误

我正在制作一个您可以编辑文本的网页,在您停止输入1秒后,它会自动保存您输入的内容。目前我正在研究$timeout的细节。当我调用没有参数的update方法时,它可以正常工作,但是当我使用参数调用它时,我得到错误:Error:fnisnotafunction$TimeoutProvider/this.$get为什么我在执行以下操作时会收到此错误:timeout=$timeout(update(element,content),1000);但不是当我这样做的时候:timeout=$timeout(update,1000);显然我需要将参数传递给更新方法,因为我需要知道要更新什么。debou

javascript - 如何在不使用 setInterval/timeout 的情况下检查实时更新?

建立一个社交网络,我正在尝试获取实时通知。目前,站点使用setInterval每隔几秒发送一次AJAX请求。它看起来像这样:setInterval(function(){url=base_dir+"/ajax/file.php";data="data=someData";$.ajax({type:"POST",url:url,data:data,dataType:"json",beforeSend:function(x){if(x&&x.overrideMimeType){x.overrideMimeType("application/json;charset=UTF-8");}},s