草庐IT

promised-mongo

全部标签

javascript - javascript Promise API 是否比它需要的更复杂?

我想我终于设法在大多数情况下围绕javascript/ES6Promises转变了想法。这并不容易!但有些东西让我对设计感到困惑。为什么Promise构造函数需要回调?考虑到回调是立即调用的,调用者是否可以直接执行该代码,从而避免一种不必要的令人费解的“别调用我,我会调用你”?这是我认为的Promise用法的原型(prototype)示例,复制自JakeArchibald的JavascriptPromises教程http://www.html5rocks.com/en/tutorials/es6/promises/#toc-promisifying-xmlhttprequest,删除评

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

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

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 - 返回值和从函数返回 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 - 总是返回一个 promise 有用吗

我正在使用bluebird围绕http服务设计一些nodejsapi包装器。这个包装器中的许多函数都是异步的,因此从这些实现中返回promise很有意义。我的同事已经在这个项目上工作了几天,有趣的模式正在出现,他还从同步实现的功能中返回promise。例子:functionparseArray(someArray){varresult;//synchronousimplementationreturnPromise.resolve(result);}如果稍后需要将实现设为异步,我可以看出这会有多大用处,因为您不必重构调用站点。我想所有方法始终“异步”也很好,但我不确定这到底有多棒。这是

javascript - axios IE promise 不起作用

我正在使用axios进行ajax通信。我有问题的IE浏览器。IE返回有关Promise的错误。IE对Promise一无所知。我正在写react/redux,但我在纯JS中尝试了axios,结果相同有人可以帮我吗?我很困惑,因为axios应该在IE8+上工作我试过IE11(windows1064位)我的trial是按照axios首页的example写的谢谢 最佳答案 如果浏览器没有promise实现,你必须包含一个promisepolyfill。这听起来很复杂,但确实有很好的库。axios文档提到它:axios依赖于要支持的原生ES6

javascript - HTML5 video.play 返回未决 promise

我正在尝试确定浏览器是否支持加载时自动播放。我正在使用以下代码,它在Androidchrome上运行良好,但对于桌面版Chrome,.catch或.then中的任何行都不会执行。promise似乎只是无限地返回Pendingpromises。这是一个真正的Chrome错误还是我不理解Promises在这里是如何工作的?constpromise=document.createElement('video').play();if(promiseinstanceofPromise){ promise.catch((error)=>{ //Checkifitistherighterror