我正在尝试使用node.js部署一个简单的firebase云功能以读取集合,但是在部署它时出现此错误:
每个then()应该返回一个值或抛出promise /总是返回
代码如下
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);
let db = admin.firestore();
db.collection('collection').get().then((snapshot) => {
snapshot.forEach((doc) => {
return console.log(doc.id, '=>', doc.data());
});
})
.catch((err) => {
console.log('Error getting documents', err);
});
我尝试添加退货,但仍然出现错误。
return console.log(doc.id, '=>', doc.data());
return console.log('Error getting documents', err);
答案 0 :(得分:2)
您正在返回一个函数内部:)它不算在内,您必须在此处添加它:
db.collection('collection').get().then((snapshot) => {
return snapshot.forEach((doc) => {
return console.log(doc.id, '=>', doc.data());
});
})
.catch((err) => {
console.log('Error getting documents', err);
});
答案 1 :(得分:0)
来自 Documentation:(我自己未试过)
return db.collection('collection').get().then(snapshot => {
snapshot.forEach(doc => {
return console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
return console.log('Error getting documents', err);
});