草庐IT

Promise方法

全部标签

javascript - es5 中 ES6 方法(类)的等价物是什么?

我们如何将es6类方法填充到ES5中?我正在看一本书,上面写着以下内容:classNinja{constructor(name){this.name=name;}swingSword(){returntrue;}}与相同functionNinja(name){this.name=name;}Ninja.prototype.swingSword=function(){returntrue;};我只是问为什么我们要在原型(prototype)上而不是在构造函数中添加swingSword?因为函数应该在对象上,而不是在原型(prototype)链上。我是对还是错?

javascript - 为 promise 速率限制功能创建有效测试用例的问题

我正在尝试为下面的promiseRateLimit函数创建一个有效的测试用例。promiseRateLimit函数的工作方式是它使用queue来存储传入的promise,并在它们之间放置一个delay。importPromisefrom'bluebird'exportdefaultfunctionpromiseRateLimit(fn,delay,count){letworking=0letqueue=[]functionwork(){if((queue.length===0)||(working===count))returnworking++Promise.delay(delay)

javascript - 等效于 ES6 Promises 的 BlueBird Promise.props?

我想等待Promise的单词映射完成。BlueBird有Promise.props可以实现这一点,但是有没有一种干净的方法可以在常规javascript中做到这一点?我想我可以创建一个包含单词和Promise的新对象,获取这些对象的Promise数组,然后调用Promise.all并将它们放入map中,但这似乎有点矫枉过正。 最佳答案 适用于普通对象的Bluebird.props实现:/***Thisfunctionmaps`{a:somePromise}`toapromisethat*resolveswith`{a:resolve

javascript - 具有 share_open_graph 方法的 FB.ui 仅显示小图像

我有这段代码可以在同一页面URL上创建多个共享按钮,但指定了自定义标题、描述和图像。//thisloadstheFacebookAPI(function(d,s,id){varjs,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.src="//connect.facebook.net/en_US/sdk.js";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebo

每隔 x 分钟导入一个本地 JSON 文件的 JavaScript 方法

我是JavaScript的新手,我一直在寻找解决这个问题的方法:我将姓名和号码写入data.json文件,该文件与我的JavaScript文件位于同一目录中。我正在寻找的是每隔几分钟检查data.json并使用更改更新我的HTMLp标记。我的HTMLblock如下所示:......我的data.json看起来像这样:[{"Name":"Charlie","Number":"5"},{"Name":"Patrick","Number":"3"}]我的Javascriptblock看起来像这样:...setInterval(function(){varjson=//readinjsonfi

javascript - 有什么方法可以将过滤器方法应用于自定义迭代器?

这个问题在这里已经有了答案:Whydogeneratorsnotsupportmap()?(1个回答)关闭4年前。我正在研究如何在JavaScript中使用生成器。由于生成器返回迭代器,我想我可以像iterable.filter()一样使用它,比如array.prototype.filter。但是,可迭代对象没有filter、map、forEach、reduce方法。所以,我制作了一个生成器版本的filter、map、reduce、forEach方法,如下所示。我当前的代码'usestrict';function*range(n){for(leti=1;i这段代码确实有效,但我想像ra

javascript - 一系列 promise 如何与 reduce 一起工作?

我正在阅读这篇文章HERE,它讲述了如何使用reducewithpromises,最后显示了以下代码片段:consttasks=getTaskArray();returntasks.reduce((promiseChain,currentTask)=>{returnpromiseChain.then(chainResults=>currentTask.then(currentResult=>[...chainResults,currentResult]));},Promise.resolve([])).then(arrayOfResults=>{//Dosomethingwithall

javascript - 等待一个已经完成的 Promise 的性能开销是多少?

在做代码审查时,我最近遇到了这样的代码块:constpromises=[];constdata=[];for(letpieceofpieces){for(letchunkofpiece){promises.push(execute(chunk));//executereturnsapromisewhichisnotyetfulfilled}data=awaitPromise.all(promises);}这里的pieces是一个数组的数组。请注意,由于某些限制,我们无法立即等待所有Promise,因此需要进行这种分块。在我的反馈中,我写道这似乎是一种反模式,因为我们也在等待Promis

javascript - 一种计算响应式网格中列的方法

虽然我还没有找到答案,但问题很简单:有没有办法,除了蛮力,计算响应式网格中的列数?#grid-container{width:100%;height:85%;position:relative;padding:var(--gap);/*adjustedwithJStomakevar(--gap)responsive*/display:grid;grid-gap:var(--gap);/*adjustedwithJStomakevar(--gap)responsive*/grid-template-columns:repeat(auto-fill,minmax(300px,1fr));b

asp.net - 有没有更好的方法让 ClientID 进入外部 JS 文件?

我知道之前有人问过这个问题,但我找到了一种不同的方法来获取对外部JS文件中控件的引用,但我不确定这会如何降低整体速度。我的代码是publicstaticvoidGenerateClientIDs(Pagepage,paramsWebControl[]controls){StringBuilderscript=newStringBuilder();script.AppendLine("");foreach(WebControlcincontrols){script.AppendLine(String.Format("var{0}='#{1}';",c.ID,c.ClientID));}s