草庐IT

并行处理

全部标签

javascript - 如何在 Flux/ReactJS 中处理多个相同类型的商店?

我是Flux/React的新手,我很难理解一些基本的架构决策:我知道所有商店都应该是单例的,但它们都是在应用启动时创建的吗?或者商店的生命周期是否可以更短,具体到用户的操作?我能否拥有相同存储类型的多个实例,每个实例都使用不同的上下文进行初始化?不幸的是,我看到的所有示例似乎都过于简单,无法回答这些问题。让我们从Facebook'schatappexample开始.有多个线程,每个线程都有消息。MessageStore保存整个应用程序的所有消息,名为getAllForThread(id)的方法返回经过过滤的消息子集。当一条消息进入任何线程时,它会发出一个更改通知,导致MessageSe

javascript - 为什么在模糊事件处理程序中添加 setTimeout 会修复另一个点击处理程序的 "masking"?

寻找对所提供答案的解释here和here.简单地说,我有两个元素。带有onBlur事件的输入和带有onClick事件的div。在没有任何特殊处理的情况下,当我通过单击div模糊输入时,会触发onBlur事件,而不会触发onClick事件。但是,如果我在blur事件处理程序中放置一个setTimeout,当我单击div时,两个事件处理程序都会被调用。为什么这行得通?HTML:Focustheinputaboveandthenclickme.(Willsee1alert)Focustheinputaboveandthenclickme.(Willsee2alerts)Javascript:

javascript - 如何根据属性正确处理订阅

我有一个全局服务widgetService,它保存着许多小部件的数据,每个小部件都由一个widgetID标识。每个小部件的数据都可以随时更改。我想显示一个带有React组件的小部件,比如WidgetReactComponent。React组件应将小部件ID作为属性,并从小部件服务获取要显示的信息。可以使用方法getWidgetData(widgetID)从widget服务查询widget的数据。并且为了能够发布数据变化,它还提供了两个方法:addListenerForWidget(widgetID,listener)和removeListenerForWidget(widgetID,l

javascript - IE 浏览器脚本,用于确定哪个(如果有的话)ActiveX 控件将处理特定的 MIME 类型

我试图在IE脚本(javascript或vbscript)中找出哪个ActiveX控件将处理特定的mime类型,在本例中为“image/tiff”。这在其他使用插件的浏览器中很容易做到;navigator.mimeTypes["image/tiff"].enabledPlugin.name这会返回类似的东西QuickTimePlug-inX.X.X我找到了很多示例来说明是否加载了特定的ActiveX控件,但是由于有几个可用的ActiveX控件可以处理tiff图像,我需要知道哪些(如果有的话)已注册以处理此mime类型。我试图处理的问题是QuickTime总是想将自己注册为默认的tiff

javascript - 在 javascript 应用程序中处理特定于环境的配置

上下文:使用yeoman构建的单页主干应用程序我想要一种方法让一些应用程序参数取决于我当前的环境(开发与生产)。现在我正在使用两个单独的配置文件,并且在部署grunt:usemin任务时将开发文件切换到生产文件://index.html//config.dev.jswindow.config={api_host:'localhost:9393',api_key:'dev_api_key'}//config.prod.jswindow.config={api_host='api.host.tld',api_key='prod_api_key'}此解决方案有效但有异味并且不允许除生产和开发

javascript - Crypto.randomBytes 处理异常对熵不足有何影响?

在此方法的文档中,它声明如果没有足够的熵来生成数据,它将抛出异常。我的问题与熵有关。它是如何生成的,您能否通过提供足够的熵来防止抛出异常?抛出异常的频率有多高,还是未知?crypto.randomBytes的文档:crypto.randomBytes(size,[callback])//asynccrypto.randomBytes(256,function(ex,buf){if(ex)throwex;console.log('Have%dbytesofrandomdata:%s',buf.length,buf);});Generatescryptographicallystrongp

javascript - 由于主线程正忙, 'wheel' 输入事件的处理延迟了 xxx 毫秒

我使用的是Chrome版本:版本55.0.2883.75beta(64位)和material-ui(https://github.com/callemall/material-ui)版本0.16.5与react+react-domversion15.4.1并在我用鼠标滚轮向下滚动页面时注意到以下警告消息:Handlingof'wheel'inputeventwasdelayedforxxxmsduetomainthreadbeingbusy.Considermarkingeventhandleras'passive'tomakethepagemoreresponsive.这是来自chr

javascript - 了解已解决 promise 的后续 then() 处理程序的执行顺序

我正在学习Promise,为了理解它,我阅读了一些有关JavaScript事件循环的内容。这article简要介绍了调用栈、事件表、消息队列等事件循环的工作原理。但我不知道调用堆栈如何处理包含“return”的行,以及此后会发生什么。下面是我写的一个例子,希望能理解Promise是如何基于事件循环工作的。另见http://jsbin.com/puqogulani/edit?js,console如果你想试一试。varp1=newPromise(function(resolve,reject){resolve(0);});p1.then(function(val){console.log(

javascript - 自制 jQuery 无法正确处理事件

更新:可能是jQuery的trigger()在测试中做了一些额外的工作,我打开了一个issue在github上。=====我正在关注learnQuery构建我的简单jQuery。现在处理DOM事件,实现on()和off()函数。他们提供了一些测试,我无法通过其中一些测试。这是我的代码:(你可以克隆thisbranch,运行06.event_listeners/runner.html来运行测试)"usestrict";functionisEmpty(str){return(!str||0===str.length);}//listenerusetobindtoDOMelement,cal

javascript - 微软称 IE9 具有并行 Javascript 渲染和执行

新的JavaScript引擎通过Windows利用多个CPU内核来并行解释、编译和运行代码。-http://technet.microsoft.com/en-us/library/gg699435.aspx和Chakra引擎并行解释、编译和执行代码,并在可用时利用多个CPU内核。-http://msdn.microsoft.com/en-us/ie/ff468705.aspx等等,什么?!?这是否意味着我们在IE9中实现了多线程并行JavaScript代码执行(在网络worker之外)?我认为这只是一个糟糕的营销噱头,但我想了解更多相关信息。也许它们意味着不同的浏览器窗口/选项卡/进程