我想從Firebase數據庫中獲取Firebase函數中的單個值。但是,Promise永遠不會返回並且鏈式方法從不執行。下面是從數據庫Firebase函數從數據庫獲取單個值
function getFcmToken(username){
return admin.database().ref('tokens/{username}/fcmToken').once('value').then(snap => {
if(snap.exists()){
const token = Object.keys(snap.val());
console.log("FCM Token", token);
return token;
}
return [];
});
}
本來上面方法返回一個標記取一個值的方法,但我不知道它是,所以下面的方法沒有得到執行。
function sendNotification(keyword, username){
return getFcmToken(username).then(token => {
if(token.length > 0){
//Notification Detail
let payload = {
data:{
keyword: keyword
}
};
return admin.messaging().sendToDevice(token, payload);
}
});
}
在控制檯日誌中,我看到的只有Promise pending。
如何更新上面的代碼以返回單個值,看起來它正在返回一個數組?
謝謝
是你的參考路徑是否正確? –
是的,路徑是正確的,我驗證了。我有另一個功能,正確寫入該路徑 –
我的意思是用戶名被替換爲單引號?我懷疑 –