如何在ionic中从Firebase函数获得对客户端的响应

如何在ionic中从Firebase函数获得对客户端的响应,firebase,ionic-framework,firebase-realtime-database,ionic3,google-cloud-functions,Firebase,Ionic Framework,Firebase Realtime Database,Ionic3,Google Cloud Functions,我试图从firebase函数响应客户端的角度来理解promise是如何工作的,这里我将给出一个非常简单的示例: 这是保存一些数据的离子方法,然后在firebase中触发一个函数: helloworld() { this.db.list(`/helloWorld/${this.userId}`).push({status: false}) .then(res => console.log(res)) } Firebase功能已触发 exports.helloWorld =

我试图从firebase函数响应客户端的角度来理解promise是如何工作的,这里我将给出一个非常简单的示例:

这是保存一些数据的离子方法,然后在firebase中触发一个函数:

helloworld() {
   this.db.list(`/helloWorld/${this.userId}`).push({status: false})
     .then(res => console.log(res))
}
Firebase功能已触发

exports.helloWorld = database
 .ref('helloworld/{id}')
 .onWrite((change, context) => {
   const data = change.after.val();
   const id = context.params.id;

return admin
  .database()
  .ref(`/helloWorld/${id}`)
  .set({ status: true }).then((res) => res);
}))


所有后台类型的函数,包括实时数据库触发器,都不会“返回”进行更改的客户端。客户唯一知道的是它做出了改变

后台函数返回的承诺只有一个目的——告诉云函数该函数的所有异步工作何时完成。他们不会向客户反馈任何信息


如果您需要一个后台函数将一些信息传递回客户端,那么您需要某种通信渠道。该功能可以在与客户端商定的位置将数据写回数据库,也可以使用Firebase云消息对应用程序进行ping。没有一种正确的方法可以做到这一点——你必须想出一些适合你需要的东西。

所有后台类型的函数,包括实时数据库触发器,都不会“返回”进行更改的客户端。客户唯一知道的是它做出了改变

后台函数返回的承诺只有一个目的——告诉云函数该函数的所有异步工作何时完成。他们不会向客户反馈任何信息

如果您需要一个后台函数将一些信息传递回客户端,那么您需要某种通信渠道。该功能可以在与客户端商定的位置将数据写回数据库,也可以使用Firebase云消息对应用程序进行ping。没有一个正确的方法可以做到这一点——你必须想出适合你需要的东西