草庐IT

apply_async

全部标签

javascript - 通过 JavaScript 将 defer 或 async 属性添加到动态生成的脚本标签

我正在动态地将一个脚本标记放入我的页面的DOM中,如下所示:vartag=document.createElement('script');tag.src="https://www.youtube.com/iframe_api";varfirstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);这应该生成如下内容:我只想将defer或async放入此脚本标记中,如下所示:那么我该如何使用JavaScript来做到这

javascript - JS/TS 中使用 async/await 的异步有界队列

我正在努力思考async/await,我有以下代码:classAsyncQueue{queue=Array()maxSize=1asyncenqueue(x:T){if(this.queue.length>this.maxSize){//Blockuntilavailable}this.queue.unshift(x)}asyncdequeue(){if(this.queue.length==0){//Blockuntilavailable}returnthis.queue.pop()!}}asyncfunctionproduce(q:AsyncQueue,x:T){awaitq.en

javascript - 有没有办法将 await/async try/catch block 包装到每个函数?

所以我正在使用express.js并考虑将async/await与节点7一起使用。有没有一种方法我仍然可以捕获错误但摆脱try/catchblock?也许是函数包装器?我不确定这将如何实际执行函数的代码并调用next(err)。exports.index=asyncfunction(req,res,next){try{letuser=awaitUser.findOne().exec();res.status(200).json(user);}catch(err){next(err);}}像这样的……?functionexample(){//Implementstry/catchbloc

javascript - function.apply.bind 在以下代码中如何工作?

所以我得到一个[200,599]的数组从promise返回并且spread内的回调函数被传递到Function.apply.bind,但现在我迷路了。[200,599]的数组如何拆分为x和y?apply.bind究竟是如何工作的?functiongetY(x){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve((3*x)-1);},100);});}functionfoo(bar,baz){varx=bar*baz;//returnbothpromisesreturn[Promise.reso

javascript - 如何通过 expect.js async done() 出错的测试?

Mocha网站声明:“为了让事情变得更简单,done()回调接受一个错误,所以我们可以直接使用它:[参见他们的例子]”那么让我们试试看:it('works',function(done){expect(1).to.be(1)done(newError('expectederror'))})/*Inserttheerrormanuallyfortestingandclarity.*/运行它并:1failing1)works:Error:expectederroratContext.[stacktrace]当错误响应是期望的结果时,我们如何使测试通过? 最佳答案

javascript - angularjs $scope.$apply() 给出此错误 : Error: [$rootScope:inprog]

我正在尝试更新属于$scope的页面上的一些文本。但我不断收到此错误:Error:[$rootScope:inprog][http://errors.angularjs.org/1.2.15/$rootScope/inprog?p0=%24apply][1]atError(native)athttps://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:6:450atm(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:1

javascript - typescript 2.1 with async/await 为 angularjs 生成 ES5/ES3 目标

我正在尝试在一个Angular1.5.5项目中使用async/await。鉴于此服务方式getDocumentTypes():angular.IPromise{varurl="api/document/types";this.$log.log(url);returnthis.$http.get(url).then(_=>_.data);}我正在尝试创建该方法的async/await版本。asyncgetDocTypes():angular.IPromise{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}Intellisenseshowsanerror:TS1055

javascript - Chrome : How to solve "Maximum call stack size exceeded" errors on Math. max.apply(数学,数组)

我必须找到非常大的数组的最大值和最小值。为此,我正在使用Math.max.apply(Math,my_array);Math.min.apply(Math,my_array);它在Firefox和IE上运行良好,但在Chrome上我总是得到Maximumcallstacksizeexceeded错误...我当前的数组有221954个元素,这不是我最大的。有人知道如何在Chrome上解决这个错误吗?如何优化最大值和最小值的搜索?对于那些不相信的人,请在Chrome的控制台中尝试:varxxx=[]for(vari=0;i--->RangeError:超出最大调用堆栈大小

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

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

javascript - 为什么调用 "apply"而不是直接调用函数?

在查看raphael或g.raphael或其他库的源代码时,我注意到开发人员做了这样的事情:varval=Math.max.apply(Math,data_array);为什么不直接调用函数,比如:varval=Math.max(data_array);谢谢。 最佳答案 默认情况下,Math.max不接受列表。“apply”允许您将列表解压缩为参数,以便max正常工作。 关于javascript-为什么调用"apply"而不是直接调用函数?,我们在StackOverflow上找到一个类似