草庐IT

Promise方法

全部标签

javascript - 如何用纯 JavaScript 替换 jQuery 的 toggleClass 方法?

如何将这段jQuery代码转换为JavaScript?$('#element').click(function(){$(this).toggleClass('class1class2')});我已经尝试了以下代码,但没有用。第一个是:varelement=document.getElementById('element'),classNum=0;//SupposingIknowthatthefirsttimetherewillbethatclasselement.onmousedown=function(){if(classNum===0){this.classList.remove(

javascript - 限制在给定时间打开的 promise 数量

以下TypeScript一次执行对doSomething(action)的每次调用。(这意味着列表中的第二项在第一项完成之前不会被调用)。asyncperformActionsOneAtATime(){for(letactionoflistOfActions){constactionResult=awaitdoSomethingOnServer(action);console.log(`ActionDone:${actionResult}`);}}这将立即向服务器发送所有请求(无需等待任何响应):asyncperformActionsInParallel(){for(letaction

javascript - angularjs获取元素高度的方法

我有DOM元素,带有id={{child.id}}container{{vm.getWorkItemName(item.metadata)}}{{vm.getWorkItemDescription(item.metadata)}}我想获取这个元素的高度,并根据高度决定是否在ng-repeat中列出项目。如何在angularjs中获取DOM高度? 最佳答案 将Angular内置的jqlite与angular.element()一起使用:angular.element(".myDiv")[0].offsetHeight;当心:不要用DO

javascript - promise JS 中 resolve 和 return 的区别

varp1=newPromise(function(res,rej){res(42);}).then((result)=>{returnresult;});**如果我有**返回结果,这个promise是否已解决?“已解决的promise”是什么意思? 最佳答案 JavaScript是一种单线程语言。这简化了大多数任务;但是,这意味着异步任务必须在回调函数中处理。Promise是一种面向对象的回调类型,它提供比简单回调函数更强大的功能。已解决promise意味着then将调用promise对象的函数。在您的示例中,promise已得到

Javascript Fetch API - 如何将输出作为对象保存到变量(而不是 Promise)

请问,如何将fetch的输出保存到一个变量中-以便能够像处理对象一样使用它?代码如下:varobj;fetch("url",{method:"POST",body:JSON.stringify({"filterParameters":{"id":12345678}}),headers:{"content-type":"application/json"},//credentials:'include'}).then(res=>res.json()).then(console.log)最后的console.log将显示一个对象。但是当我试图将它保存到变量.then(res=>obj=re

javascript - 将参数传递给 node.js 中的 EventEmitter.on 方法

我刚刚开始探索node.js,下面是我在学习node.js中的事件处理时的情况。我有一个事件“loop”和一个使用方法附加到它的函数“myLoopHandler”eventEmitter.on('loop',myLoopHandler);myLoopHandler定义如下:varmyLoopHandler=function(){for(i=1;i然后我发出事件“循环”:eventEmitter.emit('loop');如何在eventEmitter.on方法中将一些参数传递给myLoopHandler函数?我对实现相同目标的任何其他方式持开放态度。 最佳答

javascript - 返回值和从函数返回 Promise.resolve() 之间的区别

我无法理解当我们简单地返回一个值或当我们返回Promise.resolve()时会发生什么从一个函数。具体来说:我正在尝试了解promiseschaining的工作原理。我正在链接方法并验证值是否达到最后一次调用then的方法中.我只想了解将promise返回给then之间的区别,返回Promise.resolve()至then,并只返回一个值给then. 最佳答案 IhaveprobleminunderstandingthatwhathappenswhenwesimplyreturnavalueorwhenwereturnProm

javascript - 为返回 promise 数组的 Array.map 调用添加毫秒延迟

我的需求很简单。我想将对sendEmail的调用延迟100毫秒。电子邮件服务提供商允许每秒最多发送10封电子邮件。但是请注意,虽然.map是同步的,但它会立即返回一个Promise。我试过setTimeout没有用,比如setTimeout(()=>resolve(x),100)和setTimeout(()=>{returnnewPromise....},100)。想法?constpromises=userEmailArray.map((userEmail)=>{returnnewPromise((resolve,reject)=>{....mailer.sendEmail(userE

javascript - 异步函数返回 promise ,而不是值(value)

我正在尝试了解async/await如何与promises一起工作。代码asyncfunctionlatestTime(){constbl=awaitweb3.eth.getBlock('latest');console.log(bl.timestamp);//Returnsaprimitiveconsole.log(typeofbl.timestamp.then=='function');//Returnsfalse-notapromisereturnbl.timestamp;}consttime=latestTime();//Promise{}问题据我所知,await应该是阻塞的,

javascript - angulars HttpParams 对象的 set 和 append 方法有什么区别?

append的方法描述是:Constructanewbodywithanappendedvalueforthegivenparametername.set的方法描述是:Constructanewbodywithanewvalueforthegivenparametername.但是使用append,您也可以为参数名设置一个新值。这两种方法都会在参数不存在时创建参数,所以我想知道为什么有2种方法几乎可以做同样的事情,以及何时应该使用一种方法而不是另一种。谢谢 最佳答案 HttpParams值是值数组。当您设置值时,它将覆盖数组中的所有