Javascript Promise resolve是空对象,而不是用户数据
我正试图用这个承诺从数据库发回用户数据,但结果只是发送了一个空对象。你知道为什么吗?我想这是因为屈服键不在那里。但当我添加yield键时,它会抛出一个错误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'是保留的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位数字的用户。我想说,这是因为当您没有方法作为生成器时,对象只是空的。isUser.findBy('key',key)
synchronous?我不确定,超时是否有效?是否User.findBy('key',key)代码>返回一个承诺
?超时不是问题所在。您在生成器函数中调用yield
作为var
的赋值。似乎不需要生成器功能。var user=yield user.findBy('key',key)的预期结果是什么代码>?是否需要将searchAccountKey
定义为生成器函数?键入与其帐户相关联的4位数字的用户。我想说,这是因为当您没有方法作为生成器时,对象只是空的。isUser.findBy('key',key)
synchronous?我不确定,超时是否有效?是否User.findBy('key',key)代码>返回一个承诺
?超时不是问题所在。您在生成器函数中调用yield
作为var
的赋值。似乎不需要发电机功能。