Вот, пожалуйста:
var firebaseApp = firebase.initializeApp(config);
var database = firebase.firestore();
database.collection('activities')
.get()
.then(qs => qs.docs.forEach(doc => console.log(doc.data())))
.then(() => {
console.log('done.');
firebaseApp.delete();
// database.disableNetwork(); // Another way to do this, though not as clean
});
Удалось покопаться в коде вызова .get () в коллекции и увидеть, что в AsyncQueue есть 60-секундный тайм-аут, который доживает после того, как все сделано.Я подумал, что где-то должен быть выключатель, который замыкает внутренние таймеры, на которых работает эта библиотека Google, и находит ее в firebaseApp.delete (), которая выполняет следующие действия в соответствии со своими документами:
(метод) firebase.app.App.delete (): Promise
Отключает это приложение и освобождает ресурсы всех связанных служб.
Это работает как для 5.11.1, так и для 6.0.4.Я настоятельно рекомендую обновить сейчас, пока вы находитесь в начале проекта.Я использовал пакет npm firebase-admin вместо firebase, как вы используете, и мне НЕ нужно было делать этот вызов для свободных ресурсов.