草庐IT

promised-mongo

全部标签

javascript - 如何通过 worker.onerror 在 promise 中冒泡网络 worker 错误?

我正在处理一个需要在发生错误时进行报告的网络worker。通常,我可以使用worker.onerror来监听从worker抛出的任何错误。但是,当错误发生在webworker的promise中时,我无法弄清楚如何将错误冒泡回worker.onerror。请原谅奇怪的代码片段,因为这似乎是展示工作人员行为的唯一方法。(worker在HTML部分中定义)。functiongetInlineJS(){varjs=document.querySelector('[type="javascript/worker"]').textContent;varblob=newBlob([js],{"typ

javascript - 有没有一种很好的方法来 Promise.all 具有 promise 属性的对象数组?

如果我有一组promise,我可以简单地使用Promise.all来等待它们。但是当我有一个对象数组时,每个对象都有一些promises的属性,有没有好的方法来处理它?例子:constfiles=urlOfFiles.map(url=>({data:fetch(url).then(r=>r.blob()),name:url.split('/').pop()}))//whattodoheretoconverteachfile.datatoblob?//likePromise.all(files,'data')orsomethingelse 最佳答案

javascript - 为 promise.all 中的每个 promise 设置超时

我能够成功执行Promise.all,并优雅地处理解决和拒绝。然而,有些promise会在几毫秒内完成,有些可能/可能需要一段时间。我希望能够为Promise.all中的每个Promise设置超时,这样它最多可以尝试花费5秒。getData(){varthat=this;vartableUrls=['http://table-one.com','http://table-two.com'];varspoonUrls=['http://spoon-one.com','http://spoon-two.com'];vartablePromises=that.createPromise(ta

javascript - 当 promise 在 javascript 中产生时会发生什么?

没有找到完整的答案..当promise被yield时会发生什么?是这样的构造varp=newPromise()p.resolve(value)function*(){yieldp}相当于function*(){yieldvalue}?更新如何混合使用不同风格的异步编程,例如koa这样的框架?Koa中间件与生成器一起工作,但是有很多基于promise的好包(例如sequelize) 最佳答案 正如Felix所说,promise只是要产生的另一种值(value)。但是,有一种编写异步代码的风格,它以特定方式使用yieldedpromis

javascript - 当回调采用多个参数时如何 promise 一个函数

有什么方法可以在回调接受两个以上参数的情况下promisify一个函数?一个例子是node的fs.read,回调的三个参数是err、bytes和data。data参数没有传递给then函数,所以这个记录未定义:varfs=require('fs');varPromise=require('bluebird');varopen=Promise.promisify(fs.open);varread=Promise.promisify(fs.read);open('test.txt','r').then(function(fd){varbuffer=newBuffer(1024);read(

javascript - Jasmine 单元测试不等待 promise 解决

我有一个像这样的异步依赖的Angular服务(function(){angular.module('app').factory('myService',['$q','asyncService',function($q,asyncService){varmyData=null;return{initialize:initialize,};functioninitialize(loanId){returnasyncService.getData(id).then(function(data){console.log("gotthedata!");myData=data;});}}]);})

javascript - 在 firebase 云函数中返回多个异步函数的 promise ?

所以我有一个调用2个异步函数的Firebase云函数。exports.someFunction=functions.firestore.document('some/path').onCreate(event=>{asyncFunction1();asyncFunction2();});asyncFunction1和asyncFunction2都返回一个promise。现在,Firebasedictates我们应该Resolvefunctionsthatperformasynchronousprocessing(alsoknownas"backgroundfunctions")byre

javascript - jQuery Deferred/Promises 动态数组未按正确顺序执行回调

感谢您深入了解我在这里的误解。我的要求如下:我有一个URL数组。我想同时为每个URL发出AJAX请求,并在第一个请求完成后立即调用第一个回调。然后,如果第二个请求完成,则调用该回调,依此类推。选项1:for(vari=0;i显然这行不通,因为无法保证响应将按正确顺序完成。选项2:varpromises=[];for(vari=0;i这应该可行,但缺点是它会等到所有AJAX请求完成后,才会触发任何回调。理想情况下,我应该能够在第一个回调完成后立即调用它,然后链接第二个回调以在收到该响应时执行(或者如果它已经解析则立即执行),然后是第三个,依此类推。数组长度是完全可变的,并且可以在任何给定

javascript - AngularJs:返回嵌套 $http 的 promise - 已经找到解决方案,但为什么它有效?

这个问题在这里已经有了答案:Aren'tpromisesjustcallbacks?(11个答案)关闭7年前。我想构建一个嵌套的$http.get,在第一个成功之后,然后请求第二个。然后我想出了这样的东西:$http.get('/xxx').then(function(response){$http.get('/yyy').then(function(response){//dosomething})});但毕竟我想返回一个Promise,这样我就可以正确地组织我的代码。显然上面的代码不能满足我的需求。然后我对$q.all()做了很多研究,但实际上对于$q.all,第二个请求不会等待第

javascript - 链接两个异步 jQuery 函数时如何完全避开 jQuery promise ?

我看过很多关于新的EMCApromises的教程,它们提倡避免使用jQuery库中的“promises”。他们通常说您可以通过执行以下操作来躲避他们:Promise.resolve($.getJSON(url,params));//voila!thejQuerypromiseis"gone"!但是,当我必须将两个异步jQuery函数链接在一起时,这实际上不起作用。我如何在不使用jQuery的then()或.when()的情况下将两个getJSON调用(第二个调用取决于第一个调用)链接在一起?相反,我只想使用Promise.all等。我认为一个类似的问题会交织jquery和EMCApro