问题标签 [bluebird]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1555 浏览

javascript - 使用 Promise 顺序执行函数

我想基于数组顺序执行一些异步函数。

我认为这会做到这一点:

但我明白了

而不是想要的结果

我怎样才能确保在这里完全按顺序执行?

请注意,我知道如何在没有承诺的情况下做到这一点,我只对完全承诺的解决方案感兴趣。

0 投票
1 回答
264 浏览

javascript - Using map and passing object to subsequent function call

I have some code like so:

processListing returns an array of objects with source & destination properties. I use map to deal with the array and call processItem. Is there a way to pass the mapped object to downloadItem?

0 投票
2 回答
897 浏览

javascript - 如何延迟承诺直到 async.each 完成?

如何延迟承诺直到异步操作完成?我正在使用异步和蓝鸟库。一旦我启动我的程序,done() 函数就会返回一个错误,该错误是一个空或几乎为空的“masterlist”对象。为什么异步不等到迭代器完成其操作?

Firehose.js 是调用 initializer() 的模块。我相信 firehose 会首先运行,并且在此过程中会调用 promise。server.js => firehose.js => bundler.js => nytimes api

非常感谢您的帮助。

0 投票
2 回答
9804 浏览

javascript - 使用 node.js、流和 Promise 下载文件

这是我的代码片段:

我正在尝试使用承诺通过 FTP 下载项目。目前它下载第一个文件,但随后的文件失败。我是 node 新手,但相当有信心我的第二个 map 函数需要返回一个承诺,但是经过多次尝试后我无法弄清楚如何。我正在使用bluebird承诺,但看不到如何使用它和流。

你能指出我正确的方向吗?

谢谢

0 投票
3 回答
358 浏览

javascript - 错误实现承诺

好吧,我以为我已经理解了 Promises,但似乎我在这方面遗漏了一些东西......

对于与 Redis 的连接失败的情况,我希望返回的 Promise 会被拒绝。但是由于某种原因,它已经实现了。我在这里错过了什么吗?

我正在使用Bluebird实现。那里可能有一些错误吗?我有点怀疑,这一切似乎都有很好的记录并且有意义......在纸上。

解决

在https://github.com/petkaantonov/bluebird/issues/156进行全面讨论

0 投票
24 回答
280320 浏览

javascript - 如何将现有的回调 API 转换为 Promise?

我想使用 Promise,但我有一个回调 API,格式如下:

1. DOM 加载或其他一次性事件:

2. 普通回调:

3.节点样式回调(“nodeback”):

4.带有节点样式回调的整个库:

我如何在承诺中使用 API,我如何“承诺”它?

0 投票
1 回答
1212 浏览

javascript - 使用 requirejs 为 chrome 扩展创建蓝鸟承诺时出错

我正在开发一个使用 'chrome.storage.local' 的 chrome 扩展,并试图从 chrome.storage.local.get() 异步函数中创建一个承诺,我希望能够从中抛出异常以及拒绝/解决。我已经尝试使用以下实现对此进行测试,但我看到控制台日志中的错误似乎来自“ readLocalStorageObj("prefs").then(function(item) {”行(错误显示在代码之后)。

错误:

未捕获的类型错误:对象函数 Promise$_method() { var value; switch(arguments.length) { case 0: value = tryCatch1(fn, this, void 0); 休息; 案例 1: value = tryCatch1(fn, this, arguments[0]); 休息; 案例……n'

我似乎无法弄清楚这是什么原因,并且非常感谢任何帮助。

TIA

0 投票
10 回答
119158 浏览

javascript - 承诺不只是回调吗?

我已经开发 JavaScript 几年了,我完全不理解关于 Promise 的大惊小怪。

似乎我所做的只是改变:

无论如何,我都可以使用像async这样的库,例如:

哪个代码更多,可读性更低。我在这里没有任何收获,它也不是突然神奇地“平坦”。更不用说必须将事情转换为承诺。

那么,这里的承诺有什么大惊小怪的呢?

0 投票
1 回答
225 浏览

javascript - 对一组承诺使用“全部”聚合函数时的最后处理程序

我有一些代码可以打开并读取 SQL 脚本文件并并行打开与数据库的连接,当它们完成后,它会在连接上执行文件的内容。但是,连接结果需要“关闭”。我需要能够处理数据库连接成功并且读取文件失败(可能是错误的文件名)并且在任何一种情况下仍然关闭连接的情况。

这是我目前正在使用的代码,它有一个finally()处理程序来在查询成功或失败时关闭客户端,但如果文件读取失败,客户端将不会关闭。

bind()对将客户端传递到 finally 块的函数进行了一些操作,但我对它引入的复杂性不太满意。settle()我有一种在这里可能有用的感觉,我现在正在玩这个。

处理这个问题的最佳方法是什么?

0 投票
2 回答
1933 浏览

javascript - 承诺在解决时抛出未处理的错误

我有以下代码,但是当调用 resolve 时,它​​会抛出:

下面的代码:

任何想法为什么?