javascript - 如何从节点中的发布请求返回对前端的响应?
问题描述
我试图在客户端发出 POST 请求后从节点发出 POST 请求,并将后端响应传递回客户端。如何将来自后端的发布响应传递回最初来自前端的发布请求?我可以在异步范围内访问承诺,但我怎么能... err... 将它推/放回客户端?谢谢你。
async function sendToken() {
return await axios
.post("http://localhost:3001/Recaptcha", {token: token})
.then((res) => {
console.log('client recaptcha sent');
return res;
})
.catch((err) => console.log(err, 'recaptcha not sent'));
}
app.post('/Recaptcha', (req, res) => {
let p = new Promise((resolve, reject) => { // just to see if it would work
console.log(req.body.token)
const token = req.body.token
const secret = process.env.secret
async function validateRecaptcha() {
return await axios
.post(`https://www.google.com/recaptcha/api/siteverify?secret=${secret}&response=${token}`)
.then((res) => {
console.log('server recaptcha sent');
resolve(res);
return res;
})
.catch((err) => console.log(err, 'recaptcha not sent'));
}
validateRecaptcha().then((res) => {
console.log("recaptcha data:", res.data);
//if (res.data.success === true) { // *if I could do this everything would work*
// res.send("HELLO")
//}
p.then((result) => { // I can access a promise result, but how do I push it... up?
console.log("p:", result.data)
res.send(result.data) // res.send is not a function error
})
})
console.log(validateRecaptcha.res) // undefined, pending promise
if (res.data.success === true) { // *how do I access this data to send to front?*
res.send("HELLO")
}
})
});
解决方案
推荐阅读
- java - 为什么 for 循环不适用于 array.size()?
- javascript - for、while 和 do while 循环之间到底有什么区别?在哪种情况下我应该使用每种情况?
- flutter - 未处理的异常:FormatException:不是有效的链接本地地址,但包含 %
- node.js - apt 命令无法找到 npm 和节点包
- angular - Devexpress Datagrid 图标图像过滤器不显示角度
- java - Windows 10 上的 TLS 1.3 密钥更新问题
- c# - 如何在 ASP.NET Core 中实现表单重置按钮?
- python - 在 AWS 上部署 django 时出现 Pytorch 导入错误
- python - Elif 语句似乎没有正确读取变量
- javascript - 在 Shopify 中刷新异步购物车以更新忠诚度积分值