我有一个函数makeThings(n)
,它返回一个Promise来创建n个项目(通过Sequelize)。
有人建议我使用这种格式来检索值:
const [thing1, thing2] = yield makeThings(2);
我在互联网上找不到以这种方式分配常量/变量的任何内容。你见过这个吗?它是如何工作的?我的机器不喜欢它,并吐出一个意外的令牌“[”错误。
也许它可能是我不知道的npm包?
使用Node.js 5.1.0,ES6
答案 0 :(得分:5)
这是ES6中的一件事。它被称为“解构分配”
ECMAScript 6
var list = [ 1, 2, 3 ]
var [ a, , b ] = list
[ b, a ] = [ a, b ]
ECMAScript 5
var list = [ 1, 2, 3 ];
var a = list[0], b = list[2];
var tmp = a; a = b; b = tmp;
来自http://es6-features.org/#ArrayMatching。 这是一个非常好的网站,可以介绍es6中的一些新功能。