Новичок в узел / SQL / Firebase.
У меня есть проект, который создает соединение SQL, обновляет некоторые строки в БД, а затем извлекает данные из запроса для отправки сообщений Firebase с помощью fcm_token.
//first i initialize my firebase-admin app
const admin = require('firebase-admin');
const mysqlssh = require('mysql-ssh');
admin.initializeApp({
credential: 'credential',
databaseURL: 'db_url'
});
//then I connect to Sql-ssh
mysqlssh.connect(
{
host: 'host',
user: 'user',
privateKey: 'privatekey'
},
{
host: 'host',
user: 'admin',
password: 'pwd',
database: 'db',
}
).then(
(client)=>{
query(client).then((results)=>{
results.forEach((userRow)=>{
getFcmToken(client,userRow.userID).then((fcm)=>{
fireBasePushNotification(fcm[0].fcm_token);
})
})
closeQuery(mysqlssh,client);
admin.app().delete(); //<---PROBLEM OCCURS HERE
})
})
function fireBasePushNotification(fcm_token){
let payload = {//payload content here}
admin.messaging().sendToDevice(fcm_token,payload);
}
Каждый раз, когда я пытаюсь запустить этот скрипт, я получаю следующую ошибку:
UnhandledPromiseRejectionWarning: Ошибка: приложение Firebase по умолчанию не существует.Убедитесь, что вы вызываете initializeApp () перед использованием любых сервисов Firebase.
Я понимаю, что это, вероятно, связано с асинхронной природой Node.js
МОЙ ВОПРОС: В какой частимой код я могу разместить команду для удаления приложения Firebase, чтобы я мог отправлять все свои push-уведомления без получения этой ошибки?Должен ли я открывать и закрывать его каждый раз, когда отправляю уведомление?спасибо!