草庐IT

promised-mongo

全部标签

javascript - 使用 Mocha 和 Chai-as-Promised 测试被拒绝 promise 的特定属性

我正在尝试使用Chai-as-Promised测试被拒绝的Promise的细节,Mocha,和“应该”方言。promise由bluebird实现.这很好用:it('itshouldberejectedwhengivenbadcredentials',function(){varpromiseOfUsers=db.auth("bad","credentials").getUsers();returnpromiseOfUsers.should.eventually.be.rejectedWith(Error)});该错误有一个“状态”属性。我想断言状态是401这不起作用:it('itsho

javascript - 等待相当于 'Promise.resolve().then()' ?

我熟悉Promises,但继承了一些相当不寻常的代码,而不是制作newPromise(),而是使用以下代码:Promise.resolve().then(function(){//Dousefulthings})根据我的研究,这是一个weirdversionofsetImmediate-即,在下一次滴答时运行以下函数。await版本是什么? 最佳答案 Promise.resolve()可能有两个不同的原因。你触及了其中之一:延迟到JS事件循环的当前运行结束这里显而易见的答案是awaitPromise.resolve();。await

javascript - 事件循环和Promise有什么关系

这个问题在这里已经有了答案:PromisevssetTimeout(6个答案)关闭5年前。很好奇EventLoop和Promise的关系该演示暴露了这个问题。我希望p1fulfilled出现在中间,因为它们将任务排队到同一个任务队列并一个接一个地执行。varp1=newPromise(function(resolve,reject){resolve(1)})setTimeout(function(){console.log("willbeexecutedatthetopofthenextEventLoop")},0)p1.then(function(value){console.log

javascript - 在渲染之前等待 react-promise 解决

因此,我有大量数据是从API中检索的。我认为问题在于我的组件在从promise接收数据之前调用了renderMarkers函数。所以我想知道如何在调用我的renderMarkers函数之前等待完全解析数据的promise?classMapextendsComponent{componentDidMount(){console.log(this.props)newgoogle.maps.Map(this.refs.map,{zoom:12,center:{lat:this.props.route.lat,lng:this.props.route.lng}})}componentWillM

javascript - 如何打破 promise 链

我以这样的方式promise,functiongetMode(){vardeferred=Promise.defer();checkIf('A').then(function(bool){if(bool){deferred.resolve('A');}else{returncheckIf('B');}}).then(function(bool){if(bool){deferred.resolve('B');}else{returncheckIf('C');}}).then(function(bool){if(bool){deferred.resolve('C');}else{defer

javascript - promise 链中 promise 之间的延迟

假设我正在使用以下代码连续运行几个promise:letparamerterArr=['a','b','c','d','e','f']parameterArr.reduce(function(promise,item){returnpromise.then(function(result){returnmySpecialFunction(item);})},Promise.resolve())代码只是简单地调用mySpecialFunction(它返回一个promise),等待promise得到解决,然后再次调用mySpecialFunction等等。因此该函数以正确的顺序为数组中的每

javascript - 在 Jest 中测试 Promises 的最佳方式

除非我误解了什么,解决和拒绝(https://facebook.github.io/jest/docs/expect.html#resolves)将在vNext之前可用。现在/同时使用Jest测试promise的推荐方法是什么?是否只是将期望放在thens和catches中?例如:describe('Fetching',()=>{constfilters={startDate:'2015-09-01'};constapi=newTestApiTransport();it('shouldrejectifnostartdateisgiven',()=>{MyService.fetch().

javascript - Sequelize : how to get results from each promise 中的 promise

在Sequelize中>=1.7wecanusepromises你能为我解释一下如何在这段代码中从每个用户那里获取值吗:varUser=sequelize.define("user",{username:Sequelize.STRING})User.sync({force:true}).then(function(){returnUser.create({username:'John'})}).then(function(john){returnUser.create({username:'Jane'})}).then(function(jane){returnUser.create(

javascript - 是否可以为每个 promise 使用带有 then() 的 axios.all?

我有一个React组件,它触发一个事件来获取数据。这导致动态数量的存储过程调用来获取数据,并且来自每个调用的数据存储在完全不同的位置。然后我需要在接收到所有数据并可用后重新渲染。我在axios中使用promises。由于axios调用的数量是动态的,我正在构建一个数组并将其插入到axios.all中如下:letpromises=[];for(leti=0;i问题是每个axios请求返回的数据都被添加到完全不同位置的对象中。因为我无法将它们全部放在一个正确的位置then(我怎么知道哪个响应在哪个位置?),我尝试做这样的事情:letpromises=[];for(leti=0;i{myOb

JavaScript Promise then() 排序

我还在学习JavaScriptPromise,我遇到了一个我不明白的行为。varo=$("#output");varw=function(s){o.append(s+"");}varp=Promise.resolve().then(function(){w(0);}).then(function(){w(1);});p.then(function(){w(2);returnnewPromise(function(r){w(3);r();}).then(function(){w(4);});}).then(function(){w(5);});p.then(function(){w(6)