gpt4 book ai didi

javascript - 部署 Firebase 云函数时出错 每个 then() 都应返回一个值或抛出异常

转载 作者:行者123 更新时间:2023-12-02 23:19:21 27 4
gpt4 key购买 nike

对于这里的问题有什么建议吗?代码来自google 本教程来自Google https://firebase.googleblog.com/2017/08/guard-your-web-content-from-abuse-with.html

尝试在 Firebase 上部署时出现此错误。

error Each then() should return a value or throw promise/always-return

这是代码:

//recaptcha
exports.checkRecaptcha = functions.https.onRequest((req, res) => {
const response = req.query.response;
console.log("recaptcha response", response);
rp({
uri: 'https://recaptcha.google.com/recaptcha/api/siteverify',
method: 'POST',
formData: {
secret: 'my_secret_key',
response: response
},
json: true
}).then(result => {
console.log("recaptcha result", result);
if (result.success) {
res.send("You're good to go, human.");
}
else {
res.send("Recaptcha verification failed. Are you a robot?");
}
}).catch(reason => {
console.log("Recaptcha request failure", reason);
res.send("Recaptcha request failed.");
});
});

非常感谢您的帮助。

最佳答案

该错误意味着每个 .then() 方法都必须返回一些内容。

如果您不关心返回值,则可以在整个 else block 之后return null;

在这里,您可以执行以下操作:

if (result.success) {
return res.send("You're good to go, human.");
}
return res.send("Recaptcha verification failed. Are you a robot?");

(不需要else,因为return会停止方法的执行,因此不会执行后面的行)

关于javascript - 部署 Firebase 云函数时出错 每个 then() 都应返回一个值或抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57019170/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com