我有一个相当简单的 getUser 方法,但我遇到了一些麻烦。我对 JS 中的作用域等不是很熟悉,所以这让我很头疼。基本上我想从数据库中获取一个对象并将其返回给调用方法:
function getUser(uid)
{
var result = null;
var userTable = tables.getTable('Users');
userTable.where({
userId: uid
}).read({
success: function (results) {
if (results.length > 0) {
result = results[0];
console.log('userid'+result.id);
}
}
});
console.log('userid-'+result.id); // undefined!!
return result;
}
此外,从内部返回成功不会从 getUser 返回,而只是从内部定义的函数返回。我也试过“result = function(results)”,但它存储定义的函数而不是返回值。
我该怎么做?