草庐IT

promised-mongo

全部标签

javascript - AngularJS 中的单元测试 - 模拟服务和 promise

在Angular中,一切似乎都有一个陡峭的学习曲线,并且对Angular应用程序进行单元测试绝对无法摆脱这种范式。当我开始使用TDD和Angular时,我觉得我花了两倍(可能更多)的时间来弄清楚如何测试,甚至更多的时间只是为了正确设置我的测试。但是作为BenNadel在他的博客里说了在Angular学习过程中有起有落。他的图表绝对是我使用Angular的经验。然而,随着我在学习Angular和单元测试方面取得的进步,现在我觉得我花在设置测试上的时间少了很多,而花更多的时间让测试从红色变为绿色——这是一种很好的感觉。所以我遇到了设置单元测试以模拟服务和promise的不同方法,我想我会分

javascript - 我可以在 JavaScript Q 库中做出同步 promise 吗?

我想做如下的事情:delay(2500).then(function(){console.log("Step1done")}).then(delay(7500)).then(function(){console.log("Step2done")});所以delay的实现之前已经演示过很多次了:functiondelay(ms){vardeferred=Q.defer();setTimeout(deferred.resolve,ms);returndeferred.promise;}但是如果我在node.js中运行上面的代码,我会得到:...delayof2500msStep1doneS

javascript - onrejected 与 Promise 中的 catch

这个问题在这里已经有了答案:Promise:thenvsthen+catch[duplicate](1个回答)关闭7年前。ES6Promise中的catch和then(_,onRejected)有什么区别?我只知道onRejected不处理内部Promise的拒绝状态。Promise.resolve().then(()=>{returnnewPromise((resolve,reject)=>{thrownewError('Erroroccurs');});},er=>console.log(er));//Chromethrows`Uncaught(inpromise)`Promise

javascript - 如果库吞噬了所有异常,我该如何调试基于 promise 的异步代码?

问题JSFiddle:http://jsfiddle.net/missingno/Gz8Pe/2/我有一些看起来像这样的代码:vard=newDeferred();d.resolve(17);returnd.then(function(){//dosomestuff...}).then(function(){varobj=a_funtion_that_returns_null_on_IE();varx=obj.some_property;//BOOM!});问题是,当我在IE上时,我只能看到'obj'isnullornotanobject错误,没有任何对相应行号的引用,也没有调试器停在

javascript - 避免带有 promise 的嵌套回调

我对使用PromiseAPI还是个新手,我正在努力避免深度嵌套的Promise链,据我所知,这是使用Promise的好处之一。以下面的伪代码为例,当后续的Promise依赖于先前的context时,如何避免嵌套Promise?functionloadDependency1(){//returnapromsisetoloadthefirstdependency}functionloadDependency2(dependency1){//returnapromisetoloadtheseconddependency,whichreliesonthefirstdependency}func

javascript - 将 promise 与 then() 中的 promise 链接起来

在这种情况下,您如何链接?api是一个在http请求后返回promise的函数。auth是一个函数,在api响应后返回一个promise,如果resolvesapi被第二次调用,如果不是auth拒绝。我试过了,但我不仅会回到回调hell,而且它不起作用。functionapi(query){returnnewPromise(function(resolve,reject){//DOSOMESTUFFANDSOMETIMESresolves...})}functionauth(){returnnewPromise(function(resolve,reject){api("/foo").

javascript - 延期/ promise 会促进违反得墨忒耳法则吗?

我在洗澡的时候想到了一些事情。延迟/promise模式是减少callbackhell,通过允许开发人员链式调用函数,如前所述here:Parse.User.logIn("user","pass").then(function(user){returnquery.find();}).then(function(results){returnresults[0].save({key:value});}).then(function(result){//theobjectwassaved.});从我的头顶开始-如果我错了请纠正我-但似乎使用deferred/promises是打破Demete

javascript - 如何从 Promise 中提取数据

我有一个返回数据的promise,我想将其保存在变量中。由于异步性质,这在JavaScript中是不可能的吗?我是否需要使用onResolve作为回调?我能以某种方式使用它吗(例如用async/await包装它):const{foo,bar}=Promise.then(result=>result.data,errorHandler);//restofscript而不是这个?Promise.then(result=>{const{foo,bar}=result.data;//restofscript},errorHandler);注意:使用Bluebird库而不是原生实现,我不能从Pr

javascript - 在 Ember Handlebars 模板中呈现已解决的 promise 值

有没有什么好的方法可以在handlebars模板中呈现promise的结果?例如,我有以下模型:App.TopicItem=DS.Model.extend({topic:DS.belongsTo('topic'),paddedPosition:function(){returnthis.get('topic.course.lessons').then(function(lessons){returnlessons.indexOf(topicItem);}).then(function(index){varposition=index;if(position我想像这样在Handlebar

javascript - promise 被拒绝时 AngularJS 服务重试

我正在从我的Controller中的异步服务获取数据,如下所示:myApp.controller('myController',['$scope','AsyncService',function($scope,AsyncService){$scope.getData=function(query){returnAsyncService.query(query).then(function(response){//Gotsuccessresponse,returnpromisereturnresponse;},function(reason){//Goterror,queryagaini