我尝试了示例代码中的代码,但是部署错误时出现错误
42:7 error Each then() should return a value or throw promise/always-return
这是代码
db.collection('users').get().then((snapshot) => {
if (!doc || !doc.exists) {
throw new Error("data does not exists");
}
snapshot.forEach((doc) => {
return console.log(doc.id, '=>', doc.data());
});
})
.catch((err) => {
return console.log('Error getting documents', err);
});
答案 0 :(得分:2)
在上面的示例中,您从forEach函数返回,而不是从那时返回。我将其更改为
return snapshot.map(doc => {
...
})
答案 1 :(得分:0)
让我格式化一下,以便更清楚地找出问题所在:
db.collection('users').get()
.then((snapshot) => {
if (!doc || !doc.exists) {
throw new Error("data does not exists");
}
snapshot.forEach((doc) => {
return console.log(doc.id, '=>', doc.data());
});
})
.catch((err) => {
return console.log('Error getting documents', err);
});
如上所示,
。然后
没有返回任何东西,因为里面有返回
snapshot.forEach
返回forEach的值,而不返回.then。