使用node.js中的firebase从谷歌云存储读取时,ESlint问题“每个都应该返回一个值或抛出”
Posted
技术标签:
【中文标题】使用node.js中的firebase从谷歌云存储读取时,ESlint问题“每个都应该返回一个值或抛出”【英文标题】:ESlint issue "Each then should return a value or throw" while reading from google cloud store using firebase in node.js 【发布时间】:2019-02-15 08:23:58 【问题描述】:我想编写一个简单的 node.js 代码来从云存储中读取和写入。 我使用以下示例作为我的基础项目https://github.com/firebase/functions-samples/tree/master/quickstarts/uppercase-firestore 并通过查看https://firebase.google.com/docs/firestore/query-data/get-data 添加了以下功能 我从https://console.firebase.google.com手动添加了一个名称集合
这就是我添加的功能
exports.readMessage = functions.https.onRequest(async(req, res) =>
var docRef = await admin.firestore().collection('messages').doc("Names");
var getDoc = docRef.get()
.then(doc =>
if (!doc.exists)
console.log('No such document!');
else
res.json(
result: doc.data()
);
console.log('Document data:', doc.data());
)
.catch(err =>
console.log('Error getting document', err);
);
当我使用 firebase deploy 进行部署时,代码运行良好,但是在我的 IDE(即 VS Code)中,我看到一个错误,“然后每个都应该返回一个值或抛出:”。
【问题讨论】:
【参考方案1】:解决方案是简单地添加一个return null;
语句,因此 readMessage 应该如下所示
exports.readMessage = functions.https.onRequest(async (req, res) =>
var docRef = await admin.firestore().collection('messages').doc("Names");
var getDoc = docRef.get()
.then(doc =>
if (!doc.exists)
console.log('No such document!');
else
res.json(
result: doc.data()
);
console.log('Document data:', doc.data());
return null;
)
.catch(err =>
console.log('Error getting document', err);
);
【讨论】:
以上是关于使用node.js中的firebase从谷歌云存储读取时,ESlint问题“每个都应该返回一个值或抛出”的主要内容,如果未能解决你的问题,请参考以下文章