Javascript 此代码中的扩展函数的用途是什么?

Javascript 此代码中的扩展函数的用途是什么?,javascript,mysql,node.js,promise,node-mysql,Javascript,Mysql,Node.js,Promise,Node Mysql,我正在试图弄清楚如何使用mysql promise。 下面是一些示例代码 var db = require('mysql-promise')(); db.configure({ "host": "localhost", "user": "foo", "password": "bar", "database": "db" }); db.query('UPDATE foo SET key = ?', ['value']).then(function () {

我正在试图弄清楚如何使用mysql promise。

下面是一些示例代码

var db = require('mysql-promise')();

db.configure({
    "host": "localhost",
    "user": "foo",
    "password": "bar",
    "database": "db"
});

db.query('UPDATE foo SET key = ?', ['value']).then(function () {
    return db.query('SELECT * FROM foo');
}).spread(function (rows) { //what's purpose of spread()?
    console.log('Loook at all the foo', rows);
});

扩展功能的目的是什么?它到底做什么?

扩展函数来自mysql promise库附带的Bluebird promises库。它打开一个承诺,该承诺必须返回一个数组,并将该数组的每个元素赋予传递给它的函数,在本例中是来自mysql数据库的行

从github上mysql promise的package.json:

 "dependencies": {
    "bluebird": "^2.10.2",
    "mysql": "^2.10.2"
  },
以下是蓝鸟项目的更多信息:

扩展函数来自mysql promise库附带的Bluebird promises库。它打开一个承诺,该承诺必须返回一个数组,并将该数组的每个元素赋予传递给它的函数,在本例中是来自mysql数据库的行

从github上mysql promise的package.json:

 "dependencies": {
    "bluebird": "^2.10.2",
    "mysql": "^2.10.2"
  },
以下是蓝鸟项目的更多信息:
.spread
是一个Bluebird(mysql promise正在使用的promise库)函数

基本上,
.spread
允许您处理来自promise的返回值,即数组而不是单个值


请参阅以获取更多信息。

.spread
是一个Bluebird(mysql promise正在使用的promise库)函数

基本上,
.spread
允许您处理来自promise的返回值,即数组而不是单个值


有关更多信息,请参阅。

Jaromanda X是正确的,但该示例有误

spread的理想用例是回调/链接函数需要多个参数,但承诺返回单个值(我们的工作是确保它是链接函数使用的格式的参数数组),因此:

相当于(在ES6中):


Jaromanda X是正确的,这个例子是错误的

spread的理想用例是回调/链接函数需要多个参数,但承诺返回单个值(我们的工作是确保它是链接函数使用的格式的参数数组),因此:

相当于(在ES6中):


mysql承诺使用蓝鸟。。。bluebird spread的文档在示例代码的上下文中被误传,有点。。。可能有不止一个参数可用,每行一个可能(老实说不一定)mysql promise使用bluebird。。。bluebird spread的文档在示例代码的上下文中被误传,有点。。。可能有多个参数可用,每行一个参数可能(不确定是否诚实),正如所说,您也可以这样做:
Promise.resolve([1,2,3]).all()。然后(([a,b,c])=>{…})
而不是
spread(function(a,b,c){…})
,您也可以这样做:
Promise.resolve([1,2,3]).all()。然后([a,b,c])=>{…})
而不是
spread(函数(a,b,c){…})
Promise.resolve([1,2,3]).then( ([a, b, c]) => {  ...