Javascript Promise resolve是空对象,而不是用户数据

Javascript Promise resolve是空对象,而不是用户数据,javascript,ecmascript-6,es6-promise,adonis.js,Javascript,Ecmascript 6,Es6 Promise,Adonis.js,我正试图用这个承诺从数据库发回用户数据,但结果只是发送了一个空对象。你知道为什么吗?我想这是因为屈服键不在那里。但当我添加yield键时,它会抛出一个错误 关键字'yield'是保留的var user=yield user.findBy('key',key); 代码: lookupulper.js 'use strict'; const User = use('App/Model/User'); class LookupHelper { // Looks up a user based o

我正试图用这个承诺从数据库发回用户数据,但结果只是发送了一个空对象。你知道为什么吗?我想这是因为屈服键不在那里。但当我添加yield键时,它会抛出一个错误

关键字'yield'是保留的var user=yield user.findBy('key',key);

代码:

lookupulper.js

'use strict';
const User = use('App/Model/User');
class LookupHelper {
  // Looks up a user based on the key parameter and responds with the user object.
  static *searchAccountKey(key) {
      return new Promise((resolve,reject) => {
        var user = yield User.findBy('key', key);
        if (!user) {
          reject({
            status:'Not Found',
            message: 'Unable to find the user with that key please try the email'
          })
        } else {
            resolve(user);
        }
      });
  }

}

module.exports = LookupHelper;
UsersController.js查找方法

  * lookup(req, res) {
    const account = req.params('account');
    if (Validation.isNaN(account.account)) {
      Lookup.searchAccountKey(account.account).then(function(user) {
        console.log(user);
      }).catch(function(err){
        console.log("ERROR")
      });
    } else {
      // Email lookup alternative
    }
  }

var user=yield user.findBy('key',key)的预期结果是什么?是否需要将
searchAccountKey
定义为生成器函数?键入与其帐户相关联的4位数字的用户。我想说,这是因为当您没有方法作为生成器时,对象只是空的。is
User.findBy('key',key)
synchronous?我不确定,超时是否有效?是否
User.findBy('key',key)返回一个
承诺
?超时不是问题所在。您在生成器函数中调用
yield
作为
var
的赋值。似乎不需要生成器功能。
var user=yield user.findBy('key',key)的预期结果是什么?是否需要将
searchAccountKey
定义为生成器函数?键入与其帐户相关联的4位数字的用户。我想说,这是因为当您没有方法作为生成器时,对象只是空的。is
User.findBy('key',key)
synchronous?我不确定,超时是否有效?是否
User.findBy('key',key)返回一个
承诺
?超时不是问题所在。您在生成器函数中调用
yield
作为
var
的赋值。似乎不需要发电机功能。