-
2 votesanswersviews
Node Promises Bluebird Collections API和Spread()问题
我正在尝试使用Bluebirds Collection功能的promise链 . 其中一个脚本例如: var rest = require("./promisified_restler.js"); function memory(token) { CHECK='cfDJO9im'; URL='https://monitoring.api.foo.com/v1.0... -
2 votesanswersviews
在Bluebird的承诺链中将同步函数转换为异步的原因是什么?
Bluebird的文档和外部帖子提到了异步错误和同步错误之间的差异,并且有一些函数可以帮助将所有这些错误归结为异步错误(例如, Promise.try 和 Promise.method )?这似乎是因为(除其他事项外)错误处理对于两者来说是不同的(同步是用 try / catch 捕获的,而异步是用 .catch 捕获的) . 但是,在一系列链式函数的第一个方法之后, then 语句是否接受同... -
2 votesanswersviews
以处理错误的方式启动javascript promise bluebird chain
这样做的动机是能够捕获结束 .catch 的所有可能错误,甚至是初始同步代码中发生的错误 . 我想像我这样开始我的承诺链: const bbPromise = require('bluebird'); bbPromise.do(() => { someTask(); // Could throw return someVar.doSomeOtherTaskAsync(); }... -
45 votesanswersviews
将承诺转换为蓝鸟
我找到了一个使用promises的现有库,但它并没有提供bluebird的所有额外功能 .map() 或 .tap() . 我如何将"normal"或"non-bluebird"承诺转换为蓝鸟承诺,蓝鸟提供的所有额外功能? 我尝试在 Promise.promisify 和 Promise.resolve 中包装现有的承诺,但似乎都没有效果 . -
3 votesanswersviews
承诺返回undefined
我知道你不能让异步函数同步运行但是如何在我的promises链中添加某种顺序? 一个结果依赖于先前的promise值,当没有发生时,我得到一个未定义的错误 . 这是一个http请求,因此它依赖于外部因素,例如我的连接可以执行请求的速度等等 . module.exports.movieCheck = function(authToken) { return request({ method ... -
0 votesanswersviews
承诺不归还 Value
我有一个节点问题,我正在使用 imap 模块,我正在尝试返回一个承诺 . 我用蓝鸟创建了一个 Promise.method() . 该代码实际上位于:https://github.com/dkran/email-thinky-test/ 所以我的问题是我有这个文件执行此操作: //file: ./imap/helper.js var Imap = require('imap'), Pr... -
2 votesanswersviews
什么是“误报”被拒绝的承诺? possiblyUnhandledRejection?
我在节点中使用Bluebird promise库 . 我的代码中有一个部分可以捕获被拒绝的承诺并且不会重新抛出它 . 之后仍然会触发“unhandledRejection”同样的承诺 - 为什么它已经被处理了? 什么是“可能未处理的拒绝”? http://bluebirdjs.com/docs/api/error-management-configuration.html 但是,由于可以在不确定... -
11 votesanswersviews
测试在Mocha / Chai中拒绝了承诺
我有一个拒绝承诺的课程: Sync.prototype.doCall = function(verb, method, data) { var self = this; self.client = P.promisifyAll(new Client()); var res = this.queue.then(function() { return self.client.c... -
11 votesanswersviews
我如何使用Bluebird错误处理程序?
简介 这个问题旨在最终解决我在与Bluebird开发中遇到的问题 . 但是,我也利用这个机会澄清了一些事情,所以会有副问题 . 我也提前道歉,因为在阅读未来的故事时你可能会遇到任何混乱或无聊的感觉 . 问题 据我所知,Bluebird试图根据以下策略智能地捕捉被忽略的拒绝: 第二种方法,即蓝鸟默认采用的方法是,如果在第二轮开始时未处理拒绝,则调用已注册的处理程序 . - Bluebird自... -
-1 votesanswersviews
来自catch的请求 - 承诺堆栈跟踪
我目前正在使用'request-promise'库来处理来自node-js的API调用,并努力从'catch'函数中获取正确的调用堆栈 . 在玩了一下之后,我注意到了一个我无法解释的有趣行为 . 说我有代码: .catch(err => { console.log(err.stack); console.log('!!!'); console.log(new Error().st... -
0 votesanswersviews
抑制蓝鸟警告特定的承诺
我正在使用与第三方库混合的蓝鸟承诺 . 最近我遇到了类似的警告: 警告:承诺是在处理程序中创建的,但未从中返回,请参阅http://bluebirdjs.com/docs/warning-explanations.html#warning-a-promise-was-created-in-a-handler-但此结果未返回从 - 它 我跟踪了这个场景的问题: 我的代码调用外部库 外部库... -
6 votesanswersviews
Bluebird Promise Chains:'Catch' with Result
为了使这个问题对尽可能多的人有用,我将排除我的具体实现细节,除了我正在使用下面的Node Express的Bluebird promise库 . 所以,假设我有以下链(其中 P 返回一个promise, res 是Express HTTP响应对象): P().then(function(){ // do nothing if all went well (for now) // w... -
1 votesanswersviews
蓝鸟Promise.map与嵌套承诺不“完成”
我仍然试图找出蓝鸟中正确的承诺模式,我遇到了这个特殊结构的问题 . function mainFunction() { Promise.map(arrayValues, function(value) { return function1(value) .then(function(resp1) { return f... -
8 votesanswersviews
功能类似于Promise.some / any,用于未知数量的承诺
我在node.js(V8.1.3)中创建一个脚本,该脚本查看来自多个API的类似JSON数据并比较这些值 . 更确切地说,我正在研究不同股票的不同市场价格(实际上是加密货币) . 目前,我正在使用promise.all来等待各个API的所有响应 . let fetchedJSON = await Promise.all([getJSON(settings1), getJSON(se... -
60 votesanswersviews
Koa / Co / Bluebird或Q / Generators / Promises / Thunks相互影响? (Node.js)[关闭]
我正在研究与Koa一起构建一个Web应用程序,但是我还没有完全了解Hows,whens以及为什么选择 - 并应用 - 支持“使异步更容易”的技术/方法(下面列出) . 总体而言,关于此主题的网络上的不同指南仍然使事情变得模糊,特别是在不断发展的最佳实践方面,或者至少是更好的方法,以及在什么情况下 . 在网络上似乎很少或根本没有把它全部放在上下文中 . 我希望对这个大屁股庞大的帖子做出回应可以纠正这... -
7 votesanswersviews
Bluebird承诺 - 如何爆炸数组,然后映射它?
如果我有一个数组: ['one.html','two.html','three.html'] 我怎么能爆炸那个数组,对它应用一连串的承诺,然后再把它重新组合起来?目前我的代码是这样的: Promise.map(['one','two','three'], function(i) { dbQuery('SELECT ' + i); }).then(function(results) { ... -
0 votesanswersviews
蓝鸟承诺重功能的结果
我最近在HAPI API开发中使用了Bluebird . 我刚刚碰到了我的第一个真正的问题,也许我的理解或天真让我难过 . 以下代码是我所面对的一个例子: - var Promise = require('bluebird'), stuff = require('../stuff'); module.exports = { getSomething: function(reque... -
3 votesanswersviews
蓝鸟承诺的正确while()循环(没有递归?)
我一直在学习使用蓝鸟两周的承诺 . 我对他们大多了解,但我去解决一些相关的问题,似乎我的知识已经崩溃了 . 我正在尝试这个简单的代码: var someGlobal = true; whilePromsie(function() { return someGlobal; }, function(result) { // possibly even use return value of ... -
0 votesanswersviews
使用Bluebird承诺修复Node.js中的范围/上下文错误
我以为我终于掌握了一些基本的javascript概念,感谢this awesome video playlist:回调,范围和上下文不再是一个头脑了 . 然后,我决定使用promises(Node.js中的bluebird)......那些问题再次出现,我想我不明白范围和上下文如何与promises一起工作 . 这是我跑的测试: function testit(){ for (var i=0 ... -
8 votesanswersviews
使用async / await Bluebird来promisifyAll
我正在构建一个使用 async/await 的库,我想知道是否可以使用 fs 这样的原生模块和 async/await . 我知道 async/await 它's just Promises in the background, so is there a native way to promisify a method or function? Currently I'米使用蓝鸟,但我不是一个... -
3 votesanswersviews
使用Async / Await与Bluebird的`catch`过滤变体
Bluebird将其 catch 的 Promise 猴子补丁描述为"filtered variant"描述如下: 这是.catch的扩展,更像是Java或C#等语言中的catch-clauses . 您可以指定许多符合此catch处理程序的错误构造函数,而不是手动检查instanceof或.name ===“SomeError” . 首次遇到的具有符合条件的构造函数的cat... -
1 votesanswersviews
使用带有Refs和Promises的嵌套Schemata保存和查找Mongoose文档
我有一个相当简单的问题 . 我正在尝试保存其架构包含嵌套架构引用的文档,并且该架构引用包括另一个架构引用 . 但是,当我去检索该文档时,它不包括(必需的)嵌套字段,除非我在同一查询中填充它 . 但是,即使填充查询,也不会填充第二个嵌套文档 . 我是否误解了关于在猫鼬中使用refs的方式的基本内容? JavaScript和LiveScript示例代码和输出如下 . JavaScript: (fun... -
3 votesanswersviews
Sequelize Promises - Chaining Promises和Bluebird Promise.each,Promise.map,Promise.all等
我在我的用户控制器中有一个索引操作,其中我尝试连续做两件事,而不是执行所需的res.json()方法,直到他们都有机会完成 . 我有一个加入用户的友情加入模型 . 一列是frienderId,一列是friendedId . 在下面的索引函数中,期望的结果是我最终会得到一个SINGLE用户对象,这是一个朋友 . 以下承诺的原因是因为用户可能位于frienderId列或friendedId列中,因此我... -
109 votesanswersviews
处理承诺链中的多个捕获
我仍然是相当新的承诺,目前正在使用蓝鸟,但我有一个场景,我不太确定如何最好地处理它 . 例如,我在快递应用程序中有一个承诺链,如下所示: repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account fo... -
5 votesanswersviews
如何为es2017 javascript async / await函数创建全局错误处理程序?
Bluebird 3.4.1 for promises,Chrome 56,Babel 6.23.1 鉴于: async login() { try { let response = await this.authservice.login('invalid-credentials'); } catch (error) { } } 上面的代码使用json... -
1 votesanswersviews
使用supertest和mocha进行测试无法解决问题
我正在使用promises测试我的休息应用程序(使用hapi on node)和mocha(3.2)以及supertest(3.0) . 它在超时后停止并返回错误: 错误:超出2000ms的超时 . 对于异步测试和钩子,确保调用“done()”;如果返回Promise,请确保它已解决 . 我已经尝试增加超时但它没有用 . 如果我添加一个 done() 电话我得到: 分辨率方法过于规范 . 指... -
361 votesanswersviews
承诺不仅仅是回调吗?
我已经开发了几年的JavaScript,我根本不理解有关承诺的大惊小怪 . 似乎我所做的就是改变: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); 无论如何,我可以使用像async这样的... -
400 votesanswersviews
什么是明确的承诺构建反模式,我该如何避免它?
我编写的代码看起来像: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.De... -
11 votesanswersviews
promise链中的返回值没有被调用
我'm using the promise library Bluebird and I'目前遇到的问题是函数内的所有内容运行都很好,但是当我尝试返回一个值时,该函数返回 undefined . 这是承诺链: function foo() { createGroupMembers(parsedChat).then(function(val) { var members =... -
20 votesanswersviews
Promise被拒绝后停止运行进程
我正在使用以下可正常工作的代码,但问题是当我收到错误时,我希望它能阻止所有其他的承诺 . 例如,如果 chi.getCommand(val1, val2) ,将发送拒绝,我得到异常捕获,我想取消 chss.exe 和 app.getStatus(12); 的承诺我怎样才能实现? var start = Promise.all([ chi.getCommand(val1, val2), ...