2016-02-12 57 views
3

我有一個函數makeThings(n),它返回一個Promise來創建n個項目(通過Sequelize)。如何用一個聲明產生多個常量

有人建議我使用這種格式檢索值:

const [thing1, thing2] = yield makeThings(2);

我無法找到該分配常數/變量,在互聯網上的任何東西。你見過這個嗎?它是如何工作的?我的機器不喜歡它,並吐出一個意外的令牌「[」錯誤。

也許它可能是一個npm包,我不知道?

使用Node.js 5.1.0,ES6

+2

您需要將'--harmony_destructuring'傳遞給nodejs以啓用解構。 – MinusFour

回答

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中的一些新功能。