Как правильно получить доступ к объекту документа из Firestore, используя Cordova Firebase X в моем приложении Ioni c? - PullRequest
0 голосов
/ 03 мая 2020

В моем приложении Ioni c я применяю плагин FirebaseX (https://github.com/dpa99c/cordova-plugin-firebasex) и использую его метод fetchDocumentInFirestoreCollection для доступа к документу из моего Firestore (предположим, что документ действительно существует). Он успешно передает функцию обратного вызова success внутри метода, но к возвращенному объекту документа никогда не осуществляется доступ. Я не знаю, как получить доступ к нему на самом деле. Вот два моих используемых подхода к доступу:

await this.firebase.fetchDocumentInFirestoreCollection(
          someDocID,
          'someCollection',
          () => {
            console.log('fetchFirestoreCollection successfully'); // this can be printed
          },
          error => {
            console.error('error in fetchFirestoreCollection', error);
          }
        ).then(
          doc => {
            // Not enter this block ever
            console.log(doc);
          }
        );
const doc = await this.firebase.fetchDocumentInFirestoreCollection(
          someDocID,
          'someCollection',
          () => {
            console.log('fetchFirestoreCollection successfully'); // this can be printed
          },
          error => {
            console.error('error in fetchFirestoreCollection', error);
          }
        );

Но оба из этих двух не могут получить доступ к возвращенному документу. Как мне быть?

Спасибо.

1 Ответ

0 голосов
/ 03 мая 2020

В @ ioni c -native / firebase-x / ngx / index.d.ts измените строку 437 с

fetchDocumentInFirestoreCollection(documentId: string, collection: string, success: () => void, error: (err: string) => void): Promise<any>;

на

fetchDocumentInFirestoreCollection(documentId: string, collection: string, success: (value: object) => void, error: (err: string) => void): Promise<any>;
...