【发布时间】:2019-08-21 03:52:50
【问题描述】:
当有匹配显示时,我正在尝试检索所有孩子。 我在控制台中打印该值,几秒钟后我的代码在那里运行良好,但是当我在代理中将其打印为消息时,它在响应之前显示不可用,因为它不等待。 这是我的代码:
function retrieveContact(agent) {
var query = admin.database().ref("/contacts").orderByKey();
query.once("value")
.then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key;
var childName = childSnapshot.child('name').val();
if (agent.parameters.name == childName) {
console.log('find ' + childName);
agent.add('The email address for ' + childName + ' is ' + childSnapshot.child('email').val());
}
// console.log('testMode'+childName);
}); //// .then
}); //// .once }
所以,我如何等待我的回复然后让代理显示结果? 如何在我的代码中包含承诺概念?
【问题讨论】:
标签: node.js firebase firebase-realtime-database callback dialogflow-es