Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 什么';Q、Bluebird和Async之间的区别是什么?_Node.js_Concurrency_Promise_Q_Bluebird - Fatal编程技术网

Node.js 什么';Q、Bluebird和Async之间的区别是什么?

Node.js 什么';Q、Bluebird和Async之间的区别是什么?,node.js,concurrency,promise,q,bluebird,Node.js,Concurrency,Promise,Q,Bluebird,我开始研究管理node.js应用程序流的不同方法,但似乎找不到一个令人满意的答案 Q、Bluebird和Async之间有什么区别?我应该使用哪一个用于什么目的?Q和Bluebird是promise库。他们向没有内置承诺的环境(如较旧的浏览器)添加承诺功能,并向已经有承诺的环境(尤其是Bluebird)添加新的承诺功能。Bluebird试图遵循并扩展ES6 promise标准,而Q使用自己的API。这些库中的任何一个都可以用来帮助您管理和协调异步操作 Async是一个用于管理异步操作的库,它不基于

我开始研究管理node.js应用程序流的不同方法,但似乎找不到一个令人满意的答案


Q、Bluebird和Async之间有什么区别?我应该使用哪一个用于什么目的?Q和Bluebird是promise库。他们向没有内置承诺的环境(如较旧的浏览器)添加承诺功能,并向已经有承诺的环境(尤其是Bluebird)添加新的承诺功能。Bluebird试图遵循并扩展ES6 promise标准,而Q使用自己的API。这些库中的任何一个都可以用来帮助您管理和协调异步操作

Async是一个用于管理异步操作的库,它不基于承诺的使用或设计

我建议,如果决定使用Async还是Bluebird/Q,首先要决定是否使用Promissions。如果是,您可以决定哪一个库更好地满足您的需求Bluebird或Q。如果不是,则选择Async


在我看来,由于Javascript中的Promission在ES6中已经标准化,我认为我们将看到越来越多的外部API转向promises,在未来的许多情况下,它将成为连接和管理异步操作的实际方式。另外,它捕获和传播异步错误(包括异步回调中抛出的异常)的能力在复杂的异步流中非常非常有价值。

q
bluebird
都是promise库
async
是用于不使用承诺的异步控制流的实用程序库。