如何在Google行动中使用Firebase查询

时间:2018-09-08 15:27:15

标签: firebase actions-on-google

我想使用firebase查询在我的Google动作应用中按用户名搜索特定用户。我使用了以下代码,但没有显示任何内容。

const ref = firebase.database();
const nm = ref.child('Users');
const q = 
nm.orderByChild('Name').equalTo('abcd');
q.on('value', snap => {
conv.ask(snap.val());
});
});

有人可以帮助纠正我的代码。

1 个答案:

答案 0 :(得分:0)

请记住,JavaScript是异步的,这意味着您需要确保您的函数能够理解您的执行流程,更重要的是知道它何时结束。

执行此操作的标准方法是通过Promise。现在,许多异步函数都返回Promises。

因此您可以将代码重写为:

app.intent('intent name', conv => {
    const ref = firebase.database();
    const nm = ref.child('Users');
    const q = nm.orderByChild('Name').equalTo('abcd');
    return q.once('value', snap => {
        conv.ask(snap.val());
    });
});