jjzjj

event-loop

全部标签

ruby-on-rails - rails : getting data from a table for each iteraction of a loop

我有一个循环(针对@dataset中的项目),我希望在每次迭代中从另一个表中获取不同的数据并进行一些将在View中打印的操作。我无法从循环中使用的数据集中获取此数据。如何根据MVC执行此操作?我可以将代码放入循环中,在View中,但我认为这太可怕了。我必须使用助手来执行此操作,并从View中调用该函数吗? 最佳答案 如果你有一个表,想从另一个表中获取数据,通常是在has_many关系的情况下。例如,我们有@people(Person模型),每个人都有has_many地址(Address模型)。在这些情况下,最好的办法就是这样做#Co

javascript - Node.js setImmediate 在 I/O 回调之前执行(事件循环)

看看下面的代码:varfs=require('fs');varpos=0;fs.stat(__filename,function(){console.log(++pos+"FIRSTSTAT");});fs.stat(__filename,function(){console.log(++pos+"LASTSTAT");});setImmediate(function(){console.log(++pos+"IMMEDIATE")})当我执行这段代码时,会显示以下结果:作为Node.jsdocumentation解释一下,setImmediate是在I/O回调之后执行的,但是在这个例

javascript - promise 中的超时循环在 promise 解决后永远不会执行?

我遇到了一个问题,即从已解决的promise发送到setTimeout的回调永远不会执行。假设我有以下内容:classFoo{constructor(foo){this.foo=foo;}asyncexecUntilStop(callback){consttimeoutLoopCallback=()=>{if(this.stopExec)return;callback({data:'data'});setTimeout(timeoutLoopCallback,10);};setTimeout(timeoutLoopCallback,10);return{data:'data'};}st

javascript - 事件委托(delegate),Event.target 与 Event.currentTarget

在MDNEvent.targetreference有一个关于实现事件委托(delegate)的例子:事件委托(delegate)示例//Assumingthereisa'list'variablecontaininganinstanceofan//HTMLulelement.functionhide(e){//Unlesslistitemsareseparatedbyamargin,e.targetshouldbe//differentthane.currentTargete.target.style.visibility='hidden';}list.addEventListener

javascript - JavaScript 是否为非阻塞 AJAX 生成线程?

一般的看法是JavaScript本质上是单线程的,但它可以异步运行。我想知道像这样的单线程模型如何处理非阻塞的AJAX请求?假设在浏览器中触发了一个非阻塞AJAX请求,但没有立即得到响应。如果事件循环不断检查响应,执行不会被阻塞吗?事件循环是否不断检查其状态并在没有响应时将任务“重新添加”到宏任务队列的后面?据我了解,Node.js会静默生成线程来处理访问磁盘、数据库、网络套接字等的I/O操作。浏览器中的JavaScript是否也会生成线程来处理AJAX?可以针对以下问题提出类似的问题:varimg=newImage();img.onerror=function(){alert('er

javascript - Event.observe 'change' 事件未在 IE 中触发

我用于更改选择菜单的原型(prototype)事件监听器未在IE中触发。Event.observe('use_billing','change',Checkout.getBillingData);这在Firefox中工作正常(当然),但在IE中没有任何反应(当然)-我已经用谷歌搜索了一段时间,但我没有找到解决这个问题的合适方法。我读到有问题,但我发现没有任何有用的方法来规避这个问题并让它发挥作用。我真的在努力避免使用内联事件触发器,因为它们很突兀,并且会导致文档困惑且容易出错:....任何想法都会很棒-这是阻止该项目从测试版进入生产的唯一因素。 最佳答案

javascript - 我不完全理解 JavaScript 线程

在我深入探讨这个问题之前。让我声明,通过事件循环,我指的是http://en.wikipedia.org/wiki/Event_loop.这是浏览器实现的东西。有关更多信息,请阅读:http://javascript.info/tutorial/further-javascript-features/events-and-timing-depth.这个问题又难又长,所以,请耐心等待!我非常感谢所有的回答!所以。现在,据我了解,在JavaScript中只有一个主线程(在大多数浏览器环境中)。所以,代码如下:for(varcolor=0x000;color会产生一个从黑到白的动画,但是你看

javascript - 通过 id 获取 fullcalendar fc-event div

我正在开发一个应用程序,该应用程序使用全日历并在单击事件时在事件上显示Bootstrap弹出窗口。该日历会使用来自服务器的数据定期刷新,通过轮询检索。我遇到的问题是,每当此轮询在弹出窗口处于事件状态时发生,所有事件都会重新呈现并且弹出窗口之前指向的div是孤立的,从而导致我们的弹出窗口逻辑出现问题(滚动,确保只有一个弹出窗口一次处于事件状态等)。解决此问题的一种方法是记住刷新前哪个事件的弹出窗口处于事件状态,然后在事件重新呈现后重新附加弹出窗口。获取需要弹出窗口的事件的ID没有问题,但我似乎无法找到一种方法来查询fullcalendar以获取与给定事件ID关联的fc-eventdiv。

javascript - NodeJS & Socket.IO : Emit a request event and get the response, 我应该何时/何地绑定(bind)监听器?

我目前想知道在这种情况下什么是最佳编程实践:假设我已将客户端连接到我的服务器。这个客户端要求服务器使用auth事件和他的用户名进行身份验证。socket=io();socket.emit('auth',"John");在这个简单的例子中,服务器响应一个带有用户ID的auth_succeed事件。io.on('connection',function(socket){socket.on('auth',function(username){socket.emit('auth_succeed',id);}}所以我的问题是,我应该在何时何地为客户端中的auth_succeed事件绑定(bind

javascript - Jquery 触发复选框 : function tied to click event occurs before the checked attribute is set

我正在实现“帐单地址与地址相同”类型的功能,当复选框被选中时,它会根据其他字段填充字段。完美运行。点击事件的函数..if($(this).attr('checked')){//copyaddressfieldstobillingfields}else{//clearfields}现在我使用一个事件(jquery热键插件)来自动填写表单中的所有字段,这样我就可以轻松快速地演示和测试表单。而不是欺骗和填写账单字段作为我想使用的地址字段$("#CheckboxForAutofillId").trigger('click');这在我第一次触发事件时不起作用,因为在上面调用的函数中,它检查检查的