bluebird,promisify和then()

bluebird,promisify和then(),第1张

bluebird,promisify和then()

欢迎来到美好的承诺世界。

then
在您的示例中如何工作

您的主张

1
正确。我们可以使用
Promise.resolve
一个值在Bluebird中模拟一个承诺解决。

让我们展示一下:

让我们得到一个返回诺言的函数:

function foo(){    return Promise.resolve("Value");    }foo().then(alert);

"Value"
如我们所见,此简短片段将引起注意。

现在,让我们再创建两个promise,每个promise都会发出警报并返回不同的值。

function task2(e){    alert("In two got " + e);    return " Two ";}function task3(e){    alert("In three got " + e);    return " Three ";}

因此,正如您在第一个代码中看到的那样,它确实将在链中解析,每个解析都具有前一部分的值。

在第二个示例中,task2和task3将获得相同的值,并且也将一起执行(也就是说,任务3将不等待任务2)。您可以在这里看到。

无极

Promise.all(或仅从

then
实现处理程序返回一个数组,然后使用
.spread
)用于等待多个结果全部完成。在您的示例中,您希望将一个结果分为多个部分。

抓住

您总是将catch放在要捕获错误的位置。正如您通常在同步代码中那样。只要记住要始终兑现承诺或承诺代码。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4974142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存