【问题标题】:How to Use Firebase with Nativescript-Vue?如何将 Firebase 与 Nativescript-Vue 结合使用?
【发布时间】:2020-02-21 12:38:09
【问题描述】:

自 11 月以来,我一直在尝试实现一个简单的 Firebase 提取。在这一点上,我希望我刚刚创建了一个新的 Rails api;它会更快。 但每个人都坚持认为 Firebase 非常简单。

在 app.js 中,

import firebase from 'nativescript-plugin-firebase';

那部分似乎还可以。 在那之后,说明到处都是。 插件的自述文件建议初始化:

firebase.init({
  // Optionally pass in properties for database, authentication and cloud messaging,
  // see their respective docs.
}).then(
    function () {
      console.log("firebase.init done");
    },
    function (error) {
      console.log("firebase.init error: " + error);
    }
);

其他一些人坚持认为初始化代码是不必要的。它确实运行没有错误,但他之后给出的代码什么也没产生。还有,

const db = firebase.firestore;
const UserStatusCollection = db.collection("UserStatus"); 
UserStatusCollection.get();

产生一个空对象{}。

这是我的 Firebase 收藏:

如果我将 firebase 调用封装在 async/await 中(并且没有人将其显示为这么复杂),

async function getFireStoreData() {
  try {
    let result = await this.UserStatusCollection.get();
    console.log(result);
    return result;
  } 
  catch (error) {
    console.error(
      "UserStatusCollection.get()" + error
    );
  }
}

然后称呼它

let temp2 = getFireStoreData();
console.log("temp2:" + temp2);

我得到的只是一个对象承诺。

正如我所说,我希望我刚刚构建了一个新的 Rails API,并从 11 月开始过着简单得多的生活。

【问题讨论】:

    标签: firebase vue.js google-cloud-firestore nativescript nativescript-vue


    【解决方案1】:

    您的 getFireStoreData 方法是异步的,您不是 awaiting 它。这可能就是你得到承诺的原因。尝试await getFireStoreData()。看看这是否有效。

    既然也是promise,你可以试试.then

    getFireStoreData().then(data => {
      console.log(data);
    })
    
    

    【讨论】:

    • 谢谢,得到一个“不能在异步函数之外使用关键字 'await' (68:12) [20-02-21 07:53:49.471] (CLI) let temp2 = await getFireStoreData ();
    • 哦,等等,我不好让我编辑我的答案。使用.then 时,不要使用await。在此处阅读有关承诺的更多信息:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
    • 好的!在上面添加 (),它最终给了我这个:无法到达 Cloud Firestore 后端。后端在 10 秒内没有响应。这通常表明您的设备目前没有健康的互联网连接。客户端将在离线模式下运行,直到能够成功连接到后端。
    • 但我没有看到任何连接问题。
    • 您必须设置一个服务帐户或使用 GCP 上每个项目中提供的默认帐户来连接到 firebase。在 GCP 上,导航到 IAM & Admin > Service Accounts。另外,请查看 Firebase 快速入门指南:firebase.google.com/docs/firestore/quickstart
    猜你喜欢
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2017-06-15
    • 2020-06-06
    • 2021-08-04
    相关资源
    最近更新 更多