javascript - await 函数似乎没有在等待
问题描述
我正在尝试构建一个简单的登录然后重定向,但 await 功能似乎不起作用。当我在每个等待之间添加一个 window.alert 时,它确实有效。请帮忙
客户:
async function submitLogin(){
var email,pass;
email=$("#inputUser").val();
pass=$("#inputPassword").val();
try {
const result = await fetch("/login", {method:"POST", headers:{"content-type":"application/json"}, body: JSON.stringify({'email':email, 'pass':pass,}) });
const login = await result.json();
if(login.success === true) {
window.location.href="/admin";
}
else {
window.alert("incorrect login info");
}
} catch (e){
console.log(e);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<button class="btn btn-lg btn-primary btn-block" type="submit" id="submit" onclick="submitLogin()">Sign In</button>
服务器:
app.post('/login', async (req,res) => {
sess = req.session;
sess.email = req.body.email;
let result = {};
try{
const pass = await checkUserPass(sess.email);
if ( JSON.stringify(pass[0].password) == JSON.stringify(req.body.pass) ){
result.success = true;
}
else{
result.success=false;
}
}
catch(e){
result.success=false;
}
finally{
res.setHeader("content-type", "application/json");
console.log(JSON.stringify(result));
res.send(JSON.stringify(result));
}
});
我可以看到这一行显示 console.log(JSON.stringify(result)); 在服务器控制台上。
解决方案
推荐阅读
- html - Chrome 和 Safari 表格单元格的高度不同?
- reactjs - 带有回调的 useState 不更新 useCallback 依赖项
- amazon-web-services - 如何使用 lambda 触发 S3 静态网站部署?
- python - 如何使用等待迭代并附加到数据帧
- angular - 具有虚拟滚动的角度材质多选组件
- node.js - 猫鼬对种群的混淆行为
- kubernetes - 在 Kubernetes 中停止 pod 的正确方法是什么
- docker - 带有自定义配置文件的 Docker Nginx:未知指令“服务器”
- python - `cv.findHomography` 的解释
- javascript - 如何创建一个数组并让一个计数器通过它运行以存储在 for 循环中创建的值