草庐IT

并行执行

全部标签

javascript - Angular 2 中的指令执行顺序

如果我有一个带有点击处理程序和自定义属性指令的简单按钮,如下所示:Save在我的属性指令中,我使用hoSTListener装饰器来监听点击事件:@Directive({selector:`[attributedirective]`})exportclassAuditPusher{@Input('attributedirective')attributedirective:string='Missingmessage!';@HostListener('click',['$event'])pushAudit(){console.log('text:'+this.attributedirec

javascript - 在javascript中将并行字符串化(序列化)到JSON

在我的react-native应用程序中,我需要对大对象进行字符串化(序列化)而不是阻塞js线程-使用另一个线程的异步api,如下所示:JSON.stringifyAsync({foo:"bar"}).then(x=>console.log(x));请不要建议将JSON.stringify包装到Promise中,它只是延迟了js线程的阻塞。 最佳答案 我不认为这是目前可能的。这是node.js的问题(参见here、here和here),我认为浏览器或其他JS引擎的情况并没有好转。有一个EcmaScript提案(参见here)添加函数

javascript - 使用代理捕获所有链式方法和 getter(用于惰性执行)

上下文:假设我有一个对象,obj,有一些方法和一些getters:varobj={method1:function(a){/*...*/},method2:function(a,b){/*...*/},}Object.defineProperty(obj,"getter1",{get:function(){/*...*/}});Object.defineProperty(obj,"getter2",{get:function(){/*...*/}});obj是可链接的,链接通常包括方法和getter:obj.method2(a,b).getter1.method1(a).getter2

javascript - Promise.then 不执行

在下面的代码块中,只有“firstpromise”被记录到控制台。这是为什么?我试图编写一个测试来弄清楚.then()在.catch()之后是如何执行的,但当除了第一个promise之外什么都没有运行时,我感到很惊讶。这是怎么回事?functionfoo(){returnnewPromise((resolve,reject)=>{returnconsole.log('firstpromise')}).then(()=>console.log('firstthen')).catch(()=>console.log('catchblock')).then(()=>console.log('

javascript - 如何避免在 Angular 2 中多次执行不纯管道?

您好,我正在使用Angular2管道返回对象的键,它是一个不纯的管道,它被多次执行,这会阻塞其他一些脚本,我如何避免多次执行不纯的管道?我的代码如下:import{Pipe,PipeTransform}from'@angular/core';@Pipe({name:'NgforObjPipe',pure:true})exportclassNgforObjPipeimplementsPipeTransform{transform(value,args:string[]):any{letkeys=[];for(letkeyinvalue){keys.push({key:key,value:

javascript - 将 JS 代码注入(inject)/执行到 IPython notebook 并禁止其在页面重新加载时进一步执行

我正在编写必须将javascript代码嵌入到IPythonnotebook并执行它的库。HTML/JS代码如下所示:vardiv=document.getElementById("unique_id");//Dothejobandget"output"div.textContent=output;//displayoutputafterthecell和python代码:fromIPythonimportdisplaydisplay.display(display.HTML(code))副作用是javascript代码存储在笔记本单元格的输出中,每次重新加载页面或打开笔记本时都会再次运

javascript - 如何在执行页内脚本之前操作 DOM?

使用Puppeteer,在页面内JS执行之前,如何在页面上下文中运行脚本,并提供完整的DOM?例如,在运行任何页面JS之前,如何运行以下脚本从img元素中删除alt属性?document.querySelectorAll('img[alt]').forEach(e=>e.removeAttribute('alt'))(page.evaluateOnNewDocument看起来很有用,但它似乎是在页面内容可用之前执行的——在它运行时,页面是空白的。) 最佳答案 我认为实现目标的方法是执行:设置page.setJavaScriptEna

javascript - TestCafe - 选择器/断言可以并行运行吗?

我尝试对运行时间进行基准测试,但无法得出结论性的结果。有什么区别:awaitt.expect(Selector('something').visible).ok()awaitt.expect(Selector('something1').visible).ok()awaitt.expect(Selector('something2').visible).ok()和Promise.all([t.expect(Selector('something1').visible).ok(),t.expect(Selector('something2').visible).ok(),t.expect

Javascript block 脚本执行

我需要做这样的事情:执行一段代码开始加载图片并阻止脚本执行图片加载完成后继续执行执行剩下的代码我知道最简单的方法是在图像的onload事件上分配一个函数,然后执行函数中的其余代码,但如果可能的话,我希望有一个“线性”行为来阻止脚本执行然后恢复它。那么,是否有跨浏览器的方式来做到这一点? 最佳答案 阻止脚本执行的唯一方法是使用循环,这也会锁定大多数浏览器并阻止与您的网页进行任何交互。Firefox、Chrome、Safari、Opera和IE都支持complete属性,该属性最终在HTML5中被标准化。这意味着您可以使用while循环

javascript - 什么内容类型在浏览器中执行 javascript?

您正在查看的页面具有Content-type:text/html的HTTPheader元素。HTML正常显示,JavaScript将被执行。如果您有Content-Type:text/javascript,则JavaScript不会执行,它只是displayed.我的问题是:是否有除text/html之外的内容类型将执行JavaScript?我希望所有常见浏览器(IE、Firefox、Chrome、Safari)的列表尽可能完整。 最佳答案 我不知道完整的列表,很可能没有这样的列表公开存在。您可能需要自己找出答案。(虽然我认为没有什