Javascript Firebase:将承诺转换为异步/等待
下面是使用promise(.then)的代码片段,它工作正常,但当我将其转换为async wait时,我得到一个错误,该错误被catch块捕获 承诺-Javascript Firebase:将承诺转换为异步/等待,javascript,Javascript,下面是使用promise(.then)的代码片段,它工作正常,但当我将其转换为async wait时,我得到一个错误,该错误被catch块捕获 承诺- exports.createScream = functions.https.onRequest((req, res) => { if (req.method !== "POST") { return res.status(400).json({ error: "Method not allowed" }); } con
exports.createScream = functions.https.onRequest((req, res) => {
if (req.method !== "POST") {
return res.status(400).json({ error: "Method not allowed" });
}
const newScream = {
body: req.body.body,
userHandle: req.body.userHandle,
createdAt: admin.firestore.Timestamp.fromDate(new Date())
};
admin
.firestore()
.collection("screams")
.add(newScream)
.then(doc => {
res.json({ message: `document ${doc.id} created successfully` });
})
.catch(err => {
res.status(500).json({ error: "something went wrong" });
console.error(err);
});
});
异步/等待-
exports.createScream = functions.https.onRequest(async (req, res) => {
if (req.method !== "POST") {
return res.status(400).json({ error: "Method not allowed" });
}
try {
const newScream = {
body: req.body.body,
userHandle: req.body.userHandle,
createdAt: admin.firestore.Timestamp.fromDate(new Date())
};
const res = await admin
.firestore()
.collection("screams")
.add(newScream);
return res.json({
message: `document ${doc.id} created successfully`
});
} catch (err) {
console.error(err);
return res.status(500).json({ error: "something went wrong" });
}
});
请让我知道代码的Async/Await部分有什么问题,根据上面@user2222的评论
const doc=Await admin.firestore().collection(“尖叫”).add(新闻奶油)代码>根据@user2222上面的评论解决了问题const doc=wait admin.firestore().collection(“尖叫”).add(新闻奶油)
已解决问题const res
更改为任何其他值,端点参数中的bcoz具有res
const doc=wait admin.firestore().collection(“尖叫”).add(newscreal);krbalaji和user2222似乎已经发现了代码中的错误。在以后的问题中,请包括确切的错误消息和(如果可用)堆栈跟踪,因为这将使帮助变得更容易。const res
更改为任何其他值,端点参数中的bcoz具有res
const doc=wait admin.firestore().collection(“尖叫”).add(新闻奶油);krbalaji和user2222似乎已经发现了代码中的错误。在以后的问题中,请包括确切的错误消息,以及(如果可用)堆栈跟踪,因为这将使帮助更加容易。