jjzjj

digest-loop

全部标签

javascript - 错误 : [$rootScope:inprog] $digest already in progress

我正在尝试在模型中的属性更改时发送表单(使用指令)(因此我观察属性),但是当我触发提交事件时,我收到错误:“错误:[$rootScope:inprog]$digestalreadyinprogress",我怎样才能避免这个错误,这是我的代码:app.directive("autoSubmit",function(){return{link:function(scope,element,attrs){scope.$watch("valid",function(){if(scope.valid==1){console.log("sendform");element.triggerHandl

JavaScript 性能 : Modulus operation of negative Number within decrementing loop slowing the code by more than 100%

我正在浏览EloquentJavaScript(再次)遇到练习"ChessBoard"ofChapter2.在我第一次阅读它的那天,我写了一个不错的解决方案版本,并在ElequentJavascriptwebsite提供了另一个版本的解决方案。.我是想成为super高效程序员的新手之一,他们脑子里只有一个问题:“我能让它工作得更快或更小吗?无论如何?”所以,几个月前我在网上搜索时,遇到了aquestion在StackOverflow上,关于for循环与while循环的性能比较。因为在该线程中提到for循环比while慢,而递减迭代器的循环更快,所以我重写了代码以获得更好的性能。这是新版

javascript - 调试 $digest already in progress 错误

我正在构建一个复杂的混合应用程序,并且已经在真实设备上进行了测试。有时,我会从Angular收到可怕的$digestalreadyinprogress错误-特别是,它似乎是在一个有点长的摘要周期之后。从堆栈跟踪来看,它似乎是从一个更新location.href的Angular延迟函数启动的,然后触发fastclick发送一个touchend,进而触发导致错误的第二个摘要。有没有人遇到过同样的错误-如果遇到过,您是如何解决的?对于那些感兴趣的人,这是我在堆栈跟踪中看到的:Error:[$rootScope:inprog]$digestalreadyinprogresshttp://err

javascript - jQuery append in loop - DOM 直到最后才更新

当遍历大型集合并将其附加到DOM时,DOM仅在所有项目都已附加后才刷新。为什么DOM在每次append()调用后都没有更新?我可以在每次附加后(或者可能在每n次附加后)强制DOM刷新吗?vari=0;for(i=0;iLineItem');}Linktojsfiddle注意:我知道可以通过将所有元素附加到局部变量,然后将该变量附加到DOM来实现更好的性能(避免DOM回流)。但我希望前n个元素呈现在屏幕上,然后是下n个元素,依此类推,直到呈现所有元素。 最佳答案 当Javascript运行时,浏览器中的大部分内容都会停止。这包括DOM

Javascript 性能 : How come looping through an array and checking every value is faster than indexOf, 搜索和匹配?

这对我来说是一个巨大的惊喜,我想了解这个结果。我做了一个testinjsperf这基本上应该采用一个字符串(这是我想检查的URL的一部分)并检查是否存在4个项目(实际上存在于字符串中)。它以5种方式检查:简单的indexOf;分割字符串,然后是indexOf;正则表达式搜索;正则表达式匹配;拆分字符串,遍历项目数组,然后检查是否有任何项目匹配它应该匹配的东西令我大吃一惊的是,5号是Chrome21中最快的。这是我无法解释的。在Firefox14中,普通的indexOf是最快的,我相信这一点。 最佳答案 我也很惊讶,但Chrome使用

javascript - 计算 Angular 的 $digest 周期

tl;博士:我想在页面加载时有Angular触发css动画。有没有办法在Controller或指令中计算Angular的摘要周期?长版:我有一些Angular动画,我想在页面加载时运行,使用ng-enter、ng-leave、ng-move等等...和​​ng-repeat指令。从1.3.6开始,我知道Angular会等待应用任何动画,直到发生2个摘要循环后,所以这些动画根本不会发生,因为数据(几乎总是)加载到第一个摘要的View中我的申请周期。(酱汁:https://docs.angularjs.org/api/ngAnimate#css-staggering-animations)

JavaScript : For loop with timeout

我希望我的for循环不应该立即执行,而是在每次迭代后等待超时。例如:for(vari=0;i我发现了很多关于堆栈溢出的解决方案,比如这个:for(vari=0;i但在所有实现中,循环最初等待3000毫秒,然后立即执行整个for循环。有没有一种方法可以在等待1000毫秒后调用每次迭代。 最佳答案 你可以用简单的数学计算出来:for(vari=0;i1000ms:04000ms:17000ms:210000ms:313000ms:4...关注评论看来你的要求有点模糊。如果你想在上次超时后做一些事情,你可以设置一个限制并比较当前索引:va

php - 权限被拒绝时获取 "This webpage has a redirect loop"

我正在开发一个drupal网站。它不会显示带有“未找到权限”内容的页面,而是会导致重定向循环。“错误310(net::ERR_TOO_MANY_REDIRECTS):重定向过多。”-chrome错误有人能指出我正确的方向吗?谢谢。编辑:当用户已经登录并转到他们无权访问的页面时,就会发生这种情况。问题发生在user.module中的函数login_register中,中断是对drupal_get_form('user_login')和drupal_get_form('user_register')的调用。在user_login中,导致重定向的行是:if($user->uid){drupa

PHP : echo not working in infinite while loop

我想在服务器端使用echo从客户端显示$input。PHP服务器:\n";}else{while($conn=stream_socket_accept($socket)){$input=fread($conn,1024);echo$input;fwrite($conn,'Waitforawhile...'.$input);fclose($conn);}fclose($socket);}fwrite()成功将$input写入客户端,但echo$input不显示任何内容。 最佳答案 你应该使用flush():\n";}else{whil

PHP foreach : splitting the loop into two parts

我想把循环分成两部分,但我想不通!我想先从数组中循环三项,然后像这样显示剩余的项,01Home02Portfolio03Blog{mywebsitelogo}04About05Contact06Feed这是我卡住的代码,0有什么想法吗?谢谢。 最佳答案 也许array_slice是你在找什么?foreach(array_slice($items,0,3)as$item){//printitem}//displaylogoforeach(array_slice($items,2,3)as$item){//printitem}