問題が発生しているかなり単純な 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;
}
また、success 内から戻ると、getUser からは返されず、内部で定義された関数だけが返されます。「result = function(results)」も試しましたが、戻り値ではなく、定義された関数が格納されます。
どうすればいいですか?