草庐IT

异步通信

全部标签

javascript - 使用 jQuery 的 $.ajax 异步更新 Bootstrap 进度条

我有一个脚本在我的本地网络上循环遍历IP,检查那里是否有任何东西。每次迭代,我都会提交一个AJAX请求以使用cURL获取HTTP状态代码,该代码会返回到我的Javascript。我已经构建了计算进度条应该在哪里的函数,但是它只会在整个脚本执行完毕后更新进度条。这是我到目前为止所拥有的(我在这个例子中只使用0-23,因为我在199.235.130.22上,我返回'200')functionupdateProgress(percentage){document.getElementById('progressBar').style.width=percentage+'%';$('#prog

javascript - 使用 Jasmine 测试异步回调

我正在使用Jasmine2.1。我正在尝试使用Jasmine2.1来测试模块。我的模块之一具有异步执行代码的功能。当应用程序完成执行时,我需要测试函数的结果。有没有办法做到这一点?目前,我的模块看起来像这样:varotherModule=require('otherModule');functionMyModule(){}MyModule.prototype.state='';MyModule.prototype.execute=function(callback){try{this.state='Executing';varm=newotherModule.Execute(funct

javascript - 基准异步代码 (Benchmark.js, Node.js)

我想使用Benchmark.js模块来测试一些用node.js编写的异步代码。具体来说,我想向两台服务器(一台用Node编写,一台用PHP编写)发出约10,000个请求,并跟踪每台服务器完成所有请求所需的时间。我计划使用Benchmark编写一个简单的Node脚本来触发这些请求,但我对如何将它与异步代码一起使用感到有点困惑。通常在Node模块中,当您的异步代码完成时,或者从函数返回Promise等时,您会调用某种回调。但是对于Benchmark,从我在文档中阅读的所有内容来看,它似乎并不完全处理异步。有谁知道我应该做什么或看什么?如果需要,我可以手动编写基准测试;这似乎是一个足够常见的

javascript - Protractor/Jasmine2 - 在指定超时内未调用异步回调

我在selenium网格上运行的e2e测试遇到了问题。有时测试失败是因为Error:Timeout-Asynccallbackwasnotinvokedwithintimeoutspecifiedbyjasmine.DEFAULT_TIMEOUT_INTERVAL.试图以某种方式解决它,将defaultTimeoutInterval更改为protracotr.conf.js中的更高值,但结果等待时间更长,但错误是相同的。exports.config={chromeOnly:true,chromeDriver:'../node_modules/.bin/chromedriver',fra

javascript - 当 Reactjs 组件中的 componentWillUnmount 时如何清除异步函数?

这是组件:classChartCompextendsComponent{constructor(props){super(props);this.timer=null;this.loadData=this.loadData.bind(this);}componentWillMount(){this.loadData();}componentWillUnmount(){if(this.timer){clearTimeout(this.timer);}}loadData(){//...getJSON(url,msg=>{//getdatafromserverif(msg.success){

javascript - 递归调用异步 API 调用

我正在尝试从每次调用仅返回1000项的API中获取数据,并且我想递归执行此操作,直到获得所有数据。我事先不知道总共有多少元素,所以每次打电话后我都要检查如果调用是同步的,我会使用这样的东西:functionfetch(all,start){constnewData=getData(start,1000);all=all.concat(newData);return(newData.length===1000)?fetch(all,all.length):all;}但是,此处的getData()调用是异步的。使用Promise.all()不起作用,因为我事先不知道我需要多少调用,所以我无

javascript - 是否可以异步运行 WebAssembly 代码?

我已经编写了一个C函数,我可以使用WebAssembly从Angular/TypeScript/JavaScript执行它:testWebAssembly(){Module.ccall("aCFunction",null,[],[]);//takesafewsecondstofinish}此函数执行一些繁重的数学计算,需要几秒钟才能完成。当用户点击按钮时触发:LaunchCfunction是否可以执行函数,使其不阻塞Web应用程序的UI?我尝试了setTimeOut/async/Promise,但我似乎无法让它工作。谢谢! 最佳答案

javascript - 合理数量的同时异步 ajax 请求

我想知道关于通常允许多少同时异步ajax请求的共识是什么。我问的原因是我正在开发个人网络应用程序。在大多数情况下,我将我的请求减少到一个。但是,在某些情况下,我最多同时发送4个请求。这会造成一点延迟,因为浏览器一次只能处理2个。目前,就可用性而言,延迟不是问题。如果有的话,我还需要一段时间才能担心可伸缩性。但我正在努力遵守最佳实践,尽可能合理。你都有些什么想法呢?4个请求是一个合理的数字吗? 最佳答案 我很确定浏览器无论如何都会限制您可以拥有的连接数。如果您有Firefox,请输入about:config并查找network.htt

javascript - javascript中具有异步回调模式的无限循环

假设我想向服务器发送一个异步AJAX请求,当它响应时发送另一个请求并永远重复:functionsendXHR(url,callback){//SendXMLHttpRequesttoserverandcallcallbackwhenresponseisreceived}functioninfinite(){sendXHR('url/path',infinite);}infinite();我假设这里我们会很快用完堆栈空间,那么我该怎么做(不阻塞)?传递回调而不是使用return的模式在node.js中特别流行。人们如何创建无限循环?我不相信大多数JS引擎会进行任何类型的尾调用优化。

javascript - 异步 - 传递变量并保留上下文

如果你有以下代码:varasyncConfig={};vara,b;for(vari=0;i如何将变量a和b的值传递给func以便当async.auto(asyncConfig)在for循环之后执行,a和b的上下文被保留?(每次执行func时,a和b的上下文不同。)提前致谢! 最佳答案 varasyncConfig={};vara,b;for(vari=0;i 关于javascript-异步-传递变量并保留上下文,我们在StackOverflow上找到一个类似的问题: