草庐IT

promised-mongo

全部标签

javascript - HTTP Promise - 处理错误

我正在尝试找到一种很好的方法来处理我认为是错误的HTTP响应。我在ReactNative中使用fetch。这是我的代码。loginRequest(url){returnfetch(url,{method:'post',headers:{'Content-Type':'application/x-www-form-urlencoded;'},....}).then(response=>{returnthis.processResponse(response);});}然后……processResponse(response){if(response.status===200){retur

javascript - ES6 Promise 替换 async.eachLimit/async.mapLimit

在async,如果我需要将异步函数应用于1000个项目,我可以这样做:async.mapLimit(items,10,(item,callback)=>{foo(item,callback);});以便同时处理10个项目,限制开销并允许控制。使用ES6promise,虽然我可以轻松做到:Promise.all(items.map((item)=>{returnbar(item);}));这将同时处理所有1000个项目,这可能会导致很多问题。我知道Bluebirdhavewaystohandlethat,但我正在寻找ES6解决方案。 最佳答案

javascript - 调用 Promise.all 会抛出在非对象上调用的 Promise.all?

我正在尝试从promise中返回promise并像这样运行Promise.all:updateVideos().then(videos=>{returnvideos.map(video=>updateUrl({id:video,url:"http://..."}))}).then(Promise.all)//throwPromise.allcalledonnon-object如何使用这种Promise.all。我知道.then(promises=>Promise.all(promises))有效。但是,只是想知道为什么失败了。Expressres.json也会发生这种情况。错误信息不同

javascript - 在不使用 async/await 的情况下按顺序执行 promise 数组

假设我有一系列promise。我的数组中的每个元素都是一个knex.js查询生成器,并准备好执行并返回一个promise。如何按顺序运行此数组的每个元素。该数组是动态构建的。letpromisesArray=[q1,q2,q3];每个q本身不是一个promise,但它会在执行时返回一个promise。 最佳答案 这里可能是一个可能的选择:letp=Promise.resolve([]);promisesArray.forEach(q=>{p=p.then(responses=>{//basedonthenatureofeachq,t

javascript - 我的 promise 不再适用于 jQuery 1.8

此代码片段在1.7.2中适用于成功/错误回调以及promise样式回调。在1.8.2中,成功/错误回调仍然有效,但promise无效。我的预感是returndfd.promise(jqXHR);行是问题所在,但我不确定。$.ajaxPrefilter(function(options,originalOptions,jqXHR){//Don'tinfinitelyrecurseoriginalOptions._retry=isNaN(originalOptions._retry)?Common.auth.maxExpiredAuthorizationRetries:originalOp

javascript - AngularJS/Karma - 测试函数返回已解决或拒绝的 promise

尝试在Karma中使用AngularMock进行单元测试,如果我的函数返回了一个被拒绝的promise,但似乎无法在这件事上找到任何令人惊讶的东西。我有一个像UserService这样的服务,它有一个函数:processIdentityResponse,它根据内部逻辑返回一个被解决或被拒绝的promise:processIdentityResponse:function(response){vardeferred=$q.defer();if(response.data.banned){deferred.reject(response);}else{deferred.resolve(re

javascript - $http promise 链以错误的顺序运行

我是angularjs的新手。我的目标很简单。我想进行ajax调用以获取数据,完成后,我想进行第二次调用以获取依赖于第一组信息的另一组数据。我正在尝试利用promise机制来做到这一点,这样我就可以利用链接而不是嵌套的ajax调用,并更好地保留拥有独立功能的能力,我可以根据需要将它们结合在一起。我的代码类似于以下内容:varpromiseGetWorkTypes=function($q,$scope,$http){ console.log("promiseGetWorkTypes"); return$q(function(resolve,reject){ $http({ meth

javascript - $q.reject 和处理 AngularJS 链式 promise 中的错误

我无法理解使用链接promise进行错误处理的基本概念。为了学习规则,我写了一个简单的例子,猜猜结果会是什么。但不幸的是,它的行为并不像我想象的那样。我已经阅读了多篇关于该主题的文章,但由于我的英语水平很差,我可能无法获得详细信息。无论如何,这是我的代码:varpromiseStart=$q.when("start");varpromise1=promiseStart.then(function(){returnServiceforpromise1.get();});varpromise2=promise1.then(function(data1){returnServiceforpr

javascript - 如何在 JavaScript es6 中代理 Promise

我正在尝试在nativeFirefox中代理Promise(并使用Babel)。varprom=newPromise(function(resolve,reject){resolve(42)});varpromProxy=newProxy(prom,{});promProxy.then(function(response){console.log(response)});这不起作用,我收到“TypeError:‘then’调用了一个未实现接口(interface)Promise的对象。” 最佳答案 你需要有你的处理程序impleme

javascript - 循环内的 promise

在下面的代码中,我有一个无限循环,我不知道为什么会这样。我最好的猜测是因为里面的函数是async循环不会等待它,所以循环永远不会停止。解决此问题的最佳方法是什么?vargenerateToken=function(userId){returnnewPromise(function(resolve,reject){User.findOne({userId:userId},function(err,user){if(user!==null){varloop=true;while(loop){vartoken=Common.randomGenerator(20);(function(e){U