草庐IT

并行处理

全部标签

javascript - 使用 Promises 处理分支

我有一个关于jQuery1.9.1promises的问题,我可能需要条件逻辑来返回另一个deferred而我不确定如何处理它。这是我最好的尝试,但正如下面的评论所示,当我点击else分支时,我仍然点击了第二个.then()函数,我希望我可以在那里返回给用户。如何处理这种情况的任何模式?storage.provision(c).then(function(rc){if(rc===0){storage.write(c);}else{returnoptions.onSuccess(rc);//howigotbacktotheuserscallbacks/promise,butthis//ta

javascript - 是否有理由在事件处理后移除 EventListener DOMContentLoaded?

像我使用的许多其他人一样:document.addEventListener('DOMContentLoaded',domLoadedFunc,!1);结合window.onload来处理应该在DOM加载和解析后立即触发的事件。我想知道是否有理由在DOMContentLoaded监听器触发后显式删除它。类似的东西(在我们的domLoadedFunc中):if(document.removeEventListener){document.removeEventListener('DOMContentLoaded',domLoadedFunc,!1);}是否有理由在DOMContentLo

javascript - 最小化 HTTP 连接与并行下载

多年来,Web开发人员一直遵循这样的逻辑,即最小化HTTP连接可以加快应用程序的速度,因为浏览器不会因代码的下载/执行而阻塞。例如,雅虎长期以来一直吹捧他们的bestpractices,并告诉我们将CSS/JavaScript/图像资源合并到单个文件中-从而减少HTTP请求的总数并压缩总资源大小。但在提高网页速度方面存在其他“最佳实践”——具体来说,最大化parallelHTTPdownloads的数量(来自谷歌)。这种方法告诉我们,通过将HTTP连接分散到多个主机名,浏览器可以同时执行更多操作。因此,随着现代Web应用程序变得非常庞大(例如,仅JavaScript就超过3MB),必须

javascript - 陷阱 when.js 未处理的拒绝

我想捕获when.js未处理的拒绝,以便我可以记录它们。为此,我覆盖了console.warn(),但是它可以记录我不感兴趣的when.js以外的内容。引用:https://github.com/cujojs/when/blob/master/docs/api.md#debugging-promises我在when.js中使用prettymonitorhttps://github.com/AriaMinaei/pretty-monitor 最佳答案 如果您在服务器端,您可以使用promise拒绝钩子(Hook)。这些将适用于服务器端

javascript - Gulp 在 uglify() 未处理的错误事件上失败

我在执行squish-jquery任务时遇到了问题。当它运行时,它抛出这个错误:Starting'squish-jquery'...events.js:85thrower;//Unhandled'error'event^ErroratnewJS_Parse_Error(/Users/shill7/Documents/socialprojects/social-ops-dashboard-angular/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:196:18)atjs_error(/Users/shill7/

javascript - 在 rails 4 上设计处理失败的 ajax 登录

我正在尝试在设计的AJAX登录表单上接收登录失败事件。我已经像这样覆盖了设计sessionController:classSessionsControllerresource_name,:recall=>'#{controller_path}#failure')sign_in_and_redirect(resource_name,resource)enddefsign_in_and_redirect(resource_or_scope,resource=nil)scope=Devise::Mapping.find_scope!(resource_or_scope)resource||=

javascript - 在优先级 AJAX 请求的情况下,如何处理浏览器对每个域的并行请求的限制?

假设给定以下情况:我们的网站触发了大约20个(或更多)请求。这些可以是任何类型的请求——我们不知道如何再次触发它们。在这个网站上,所有的请求都指向同一个url。请求可以有订阅的事件监听器。在使用Chrome的情况下,前6个请求被发送,其他请求在队列中等待发送(因为parallelrequestlimitperdomain)。此时网页触发了一个非常重要的请求(我们称之为“VIR”),它比前20个请求具有更高的优先级发送到服务器。其他请求(及其事件监听器)也很重要,因此我们不能中止它们以立即发送VIR。我们需要一个解决方案来获取所有待处理的请求(6个已发送+14个在队列中),中止它们,然后

javascript - 如何使用 html2Canvas 和 AWS S3 图像处理 CORS?

我知道以前有人问过类似的问题,但我仍然无法解决。我有一个div,其中包含从AWSs3中的存储桶加载的图像,它们完全加载没有问题。现在我希望能够将特定div中的任何内容保存为jpeg(例如截屏),插件html2canvas可以帮助实现这一点。问题是,当我尝试实际保存它(或只是立即显示此类屏幕截图的结果)时,我遇到了这些问题:Canvasistainted=>我在插件中设置了allowTaint:true但它会抛出这个错误,所以我禁用它并且错误消失了。我将useCORS设置为true以允许来自其他来源的图像。对图像的访问已被CORS策略阻止为了解决这个问题,我在我的AWSS3存储桶上设置了

javascript - 在 promise 中处理错误时返回成功

我有一个处理通过WebAPI执行的HTTP请求的promise:promise=promise.then(r=>{//...},error=>{if(error.status==404){//HereIcanfixanerrorandcontinueproperly}else{//Heretheerrorshouldbepropagatedfurtherinthepromise}}//laterinthecode:promise.catch(r=>{/*Moreerrorhandling*/});在代码的后面,这个promise链接到更多的错误检查。在出现404错误的情况下,我实际上可

javascript - 输入类型="submit",onclick处理程序调用this.form.submit(),并且不返回任何值

编辑:在考虑回答问题之前,请仔细阅读问题的所有内容。我既不是在生产代码中使用内联事件处理程序的可取性,也不是在实现我所引用的文章所promise的结果的最佳方法。这是关于Javascript语义和浏览器实现细节的问题,而不是关于最佳编码实践的问题。听起来像一场噩梦,对吗?但是我发现一些onlineadvice提倡这样做,以防止再次提交表单:撇开对内联事件处理程序的弊端的任何讨论,我在这里看到的问题是:标签的类型是"submit",因此提交其包含形式是其默认行为;onclick处理程序显式提交包含表单;onclick处理程序不返回false以防止默认行为(请参见1)。凭直觉,我认为单击此