在承诺之外返回一个承诺variables

我需要从承诺之外得到一个variables的价值,但是我不能因为这个范围的原因。 在我的情况下,我使用Sequelize将数据保存到SQL数据库,但我想做类和dataToReturn我收到第二次save后的承诺

 .post('/', (req, res) => { const event = new Event(Events, Data, req.body) event.save() res.status(201).json("HERE I NEED THE 'dataToReturn' from the promise") }) 

这是我的课堂活动

 class Event { constructor(Events, Data, Event) { this._Data = Data, this._Events = Events this._Event = Event } save() { this._Data.build(this._Event.Data).save().then((res) => this._Events.build({ name: this._Event.name, date: this._Evento.fecha, photo1: this._Event.photo1, photo2: this._Event.photo2, idData: res.dataValues.id }).save().then((dataToReturn) => "???")) <-- dont know what to do here return dataToReturn <-- I want to return that variable but I cant because scopes } 

你有什么build议? 我迷路了

  class Event { /** * Same code */ save() { return this._Data.build(this._Event.Data).save().then((res) => this._Events.build({ name: this._Event.name, date: this._Evento.fecha, photo1: this._Event.photo1, photo2: this._Event.photo2, idData: res.dataValues.id })).save(); } 

然后在你的路线中使用:

 .post('/', (req, res) => { const event = new Event(Events, Data, req.body) event.save().then((dataToReturn) => { res.status(201).json(dataToReturn); }); }) 

写在手机上,所以它不会看起来最好..

在你的活动中删除。 删除返回语句。 在你的路线做:

 return event.save().then(results => res.status(200).json(results));