草庐IT

Asynchronous

全部标签

javascript - node.js 异步/等待与 MySQL 一起使用

我需要同步所有结果并附加到带有async/await关键字(如c#)的字符串。我是node.js的新手,我无法将这种新语法应用到我的代码中。varstring1='';varstring2='';varstring3='';varstring4='';DatabasePool.getConnection(function(err,connection){connection.query(query,function(err,result){if(err){};string1=result;});connection.query(query,function(err,result){if

javascript - 获取在 Promise.race 中完成了哪个 promise

上下文:我需要进行大量可并行的异步调用(大约300到3000次ajax调用)。但是,我不想通过一次调用它们来增加浏览器或服务器的压力。我也不想按顺序运行它们,因为需要很长时间才能完成。我决定一次运行五个左右,并为此派生了这个函数:asyncfunctionasyncLoop(asyncFns,concurrent=5){//queueupsimultaneouscallsletqueue=[];for(letfnofasyncFns){//firetheasyncfunctionandadditspromisetothequeuequeue.push(fn());//ifmaxconc

javascript - JS 异步并等待在 Internet Explorer 中工作

我已经让我的项目在所有其他浏览器中使用async/await,但显然它在IE中不兼容。(asyncfunction(){try{awaitgetLayers();}catch(err){console.error(err)}}());调用我的其他函数:asyncfunctiongetLayers(){try{$.when(await$.getJSON('http://'+ipAddress+'/api/Barriers/barrierGeoJSON',function(data){createLayer(data[0].row_to_json,'Barrier');}),await$.

javascript - Protractor -ScriptTimeoutError : asynchronous script timeout: result was not received in 20 seconds

我是Protractor的新手,我正在尝试运行我的脚本。describe('Navigatorhomepage',function(){it('shouldproceedtologin',function(){browser.get('url');});it('Clickstheproceedbutton',function(){constproceedButton=element(by.id('auth-login-page-button'));proceedButton.click();});});但每当我运行它时,浏览器都会打开并继续访问该网站,然后等待20秒,然后我收到错误:S

javascript - jQuery 等到异步 ajax 调用完成

您好,我的脚本中有2个ajax调用,我需要它们异步运行以节省时间,但我需要第二个等待第一个完成。$.ajax({type:"POST",url:"getText.asmx/ws_getText",data:parO1,contentType:"application/json;charset=utf-8",dataType:"json",success:function(msg){alert(msg.d.data);},error:function(){chyba("chybavpožadavku","df");}});if(parO2.length>0){$.ajax({type:"

javascript - 在 async/await 上返回多个变量

我想知道是否有一种方法可以在不返回数组或JavaScript对象的情况下获取第二个resolve值(test2)。functiontestFunction(){returnnewPromise(function(resolve,reject){resolve("test1","test2");});}asyncfunctionrun(){varresponse=awaittestFunction();console.log(response);//test1}run(); 最佳答案 您只能传递一项。但是从ES6开始有一个很好的特性叫

javascript - 在 componentWillUnmount 中清除超时的更好方法

我有一个正在运行的加载组件,它在加载8秒后取消。这段代码有效,但对我来说感觉不对,我想知道是否有更好的方法来做到这一点。没有设置this.mounted我得到错误:Warning:Canonlyupdateamountedormountingcomponent.ThisusuallymeansyoucalledsetState,replaceState,orforceUpdateonanunmountedcomponent.Thisisano-op.PleasecheckthecodefortheLoadingcomponent.这让我觉得计时器没有被取消,所以它继续this.seSt

javascript - 同步 promise 解析(bluebird vs. jQuery)

我为DynamicsCRMREST/ODATAwebservice开发了一个小库(CrmRestKit)。该库依赖于jQuery并使用promise-pattern,分别是jQuery的promise-like-pattern。现在我想将这个库移植到bluebird并删除jQuery依赖项。但是我遇到了一个问题,因为bluebird不支持promise-objects的同步解析。一些上下文信息:CrmRestKit的API除了一个可选参数外,该参数定义了网络服务调用应该以同步还是异步模式执行:CrmRestKit.Create('Account',{Name:"foobar"},fal

javascript - 超时后 Angular 5 View 不更新

我正在设置超时以在Angular5中一段时间​​后隐藏元素:this.showElement=true;setTimeout(function(){console.log('hide');this.showElement=false;},2000);但是,这不会更新View。console.log给了我一个输出,所以超时肯定有效。我发现在Angularjs中您需要调用$apply才能开始摘要,所以我猜我只需要找到Angular5的等效方法即可。 最佳答案 我认为setTimeout回调丢失了“showElement”变量的范围。th

javascript - 在 Angular.js 中使用 <script async> 标签

IlyaGrigorik建议使用尽可能标记。是否有一种干净、首选的方式来使用标签加载Angular.js应用程序,而不使用像require.js或angular-seed推荐的$script.js工具这样的工具?明显的问题是执行顺序。例如预防:UncaughtReferenceError:angularisnotdefinedhttps://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/ 最佳答案 如果有一些有用的东西可以在没An