我有一个查询firebase数据库并返回结果的函数。
function verifyToken(token)
{
var androidId = 'xxxxx';
admin.database(dbDEV).ref('profiles').orderByChild('androidId').equalTo(androidId).on('value',(snapshot)=>{
console.log(snapshot.val());
return snapshot.val();
});
}为此,我使用了firebase函数。因此,结果是在firebase日志中记录,但我在执行函数时没有获得和返回值。
发布于 2018-08-21 17:58:53
您可以从使用promises开始。例如:
function verifyToken(token) {
return new Promise(resolve => {
var androidId = 'xxxxx';
admin.database(dbDEV).ref('profiles').orderByChild('androidId').equalTo(androidId).on('value',(snapshot)=>{
console.log(snapshot.val());
resolve(snapshot.val());
});
});
}当你需要结果的时候:
verifyToken(token).then(result => {
... do stuff
});为了改进这一点,您可以使用异步函数。例如:
async function foo() {
const result = await verifyToken(token);
console.log(result);
}https://stackoverflow.com/questions/51930505
复制相似问题