21得票3回答
蓝鸟警告 "在处理程序中创建了一个 Promise,但未从其中返回"

我收到了有关不返回创建的蓝鸟承诺的警告,但我不明白为什么以及如何重写我的代码。 (我尝试阅读Bluebird API页面和反模式页面,因为我怀疑这就是我正在做的) 在我的 view.js 文件中:var express = require('express'), router = ...

21得票3回答
异步生成器中由于未并行等待承诺而导致的减速问题

我正在使用生成器和Bluebird编写代码,我有以下代码:var async = Promise.coroutine; function Client(request){ this.request = request; } Client.prototype.fetchComment...

20得票2回答
如何将jQuery的$.ajax调用转换为Bluebird promises而不使用延迟反模式

现在我在一个核心文件中使用promise.deferred。这使我能够在一个中心位置解决承诺。我一直在阅读,可能会使用反模式,我想知道为什么它是不好的。 所以在我的core.js文件中,我有像这样的函数: var getMyLocation = function(location) { ...

20得票2回答
bluebird.js和bluebird.core.js有什么区别?

bluebird.js和bluebird.core.js有什么区别? 在什么情况下应该使用bluebird.core.js而不是bluebird.js? 我在bluebird网站和其他地方都没有找到相关信息。

19得票1回答
Promise链中的事件发射器(EventEmitter)

我正在做一些涉及运行一系列child_process.spawn()的事情,按顺序运行(进行一些设置,然后运行调用者感兴趣的实际关键命令,最后进行一些清理)。 类似于这样:doAllTheThings() .then(function(exitStatus){ // all th...

19得票1回答
使用fs和bluebird的Promises

我目前正在学习如何在Node.js中使用Promise。 因此,我的第一个挑战是列出目录中的文件,然后使用异步函数获取每个文件的内容。我想出了以下解决方案,但我强烈感觉这不是最优雅的方式,特别是第一部分,即我将异步方法“转换”为Promise的部分。// purpose is to get ...

19得票2回答
使用可暂停的生成器包装的nodejs child_process.spawnSync或child_process.spawn,以返回输出结果。

最近我一直在尝试做一些事情,但是到目前为止都没有成功。 使用Node.js,我想要运行一个交互式的sh命令,并在命令退出后使用sh命令的输出。我想编写一个可暂停的生成器函数,用于包装交互式shell命令的运行,并返回shell命令的输出。 方法1:shelljs shelljs 我在使...

19得票3回答
在for循环中等待Promise

let currentProduct; for (let i = 0; i < products.length; i++) { currentProduct = products[i]; subscription.getAll(products[i]._id) ...

18得票7回答
在NODE中使用Redis SCAN

我有一个带有很多键的Redis,它们以某种格式存在,并且我想要获取符合某些模式的键并对它们执行一些操作。由于在生产环境中不推荐使用KEYS方法,因此我不使用它。我想知道在使用SCAN时如何以最佳方式编写代码。我必须像使用承诺的while循环一样做一些事情,我的当前解决方案看起来像这样(代码有点...

18得票1回答
I Broke My Promise

所以...我最难学习的就是如何使用Promise。我正在使用bluebird (https://github.com/petkaantonov/bluebird),正如建议的那样 -- 为了解决我一直遇到的回调地狱问题。例如:function login(req,res,con,mysql,P...