Node – ReferenceError:Promise没有定义

我开始与节点。 对不起,可能是一个愚蠢的问题。

试图理解为什么下面的代码会引发一个错误:ReferenceError:Promise没有定义

allAccountFixtures: ['account-customer-joe', 'account-partner-sam', 'account-partner-jane', 'account-admin-jill'], allProductFixtures: ['product-123', 'product-234', 'product-345', 'product-456'], ... loadBasicFixtures: (Api) => { return Promise.all([ Support.importRecords(Api.accountsAPI, Support.allAccountFixtures), Support.importRecords(Api.productsAPI, Support.allProductFixtures) ]); }, 

我的API在别处被定义为:

 this.accountsAPI = app.service('/api/accounts'); this.productsAPI = app.service('/api/products'); 

导入function是:

 importRecords: (feathersService, fixtureNames) => { // Wrap in an array if there's only one. if (!(fixtureNames instanceof Array)) { fixtureNames = [fixtureNames]; } // Create a separate promise for each JSON fixture to load the JSON from a // file and send it to feathers.create(). Don't execute yet. var promises = fixtureNames.map(fixtureName => { var filePath = `test/fixtures/json/${fixtureName}.json`; // console.log(`-> Loading JSON fixture: ${filePath}`); return fs.readFileAsync(filePath, 'utf8') .then((jsonString) => { return JSON.parse(jsonString); }).then((json) => { return feathersService.create(json); }); }); // Wrap all fixture loading promises inside a single outer promise that will // fire when all of the child promises are complete. return Promise.all(promises); }, 

不知道提供的信息是否足以build议发生的事情。 我抬头看了一个“承诺”的概念,这就是它。 也许你可以指出正确的方向。 文件提到解决和拒绝。

我会把我的评论做成一个答案,因为它解决了你的问题。

一些老版本的node.js没有内置的promise,并且使用promises,需要加载第三方库来增加promise支持。

如果升级到node.js或更新版本的任何4.x版本,则会有内置于node.js的promise。

您需要导入并需要Promise

 npm install promise --save 

然后

 var Promise = require('promise');