Javascript 使用Promise提交带有submit()的表单

Javascript 使用Promise提交带有submit()的表单,javascript,forms,Javascript,Forms,我正在尝试写一些东西,可以按照特定的顺序完成以下操作:(1)提交表格(2)打印“打印我”。(3)等待3秒钟(4)打印“也打印我” 为什么我的代码不能做到这一点? function sleep(ms){返回新承诺(resolve=>setTimeout(resolve,ms));} 函数submitForm(){返回新承诺(resolve=>document.getElementById('form').submit();} 异步函数测试(){ 等待提交表单(); log(“打印我”) 等待睡眠

我正在尝试写一些东西,可以按照特定的顺序完成以下操作:(1)提交表格(2)打印“打印我”。(3)等待3秒钟(4)打印“也打印我”

为什么我的代码不能做到这一点?

function sleep(ms){返回新承诺(resolve=>setTimeout(resolve,ms));}
函数submitForm(){返回新承诺(resolve=>document.getElementById('form').submit();}
异步函数测试(){
等待提交表单();
log(“打印我”)
等待睡眠(3000);
log(“也打印我。”)
};
test()

这里有两个问题:

  • 我想你想说的是
    wait
    而不是
    wait
  • submitForm
    中,从未调用您的
    resolve
    函数,请参见下面我的更正
功能睡眠(毫秒){
返回新承诺(解析=>setTimeout(解析,毫秒))
}
函数submitForm(){
return Promise.resolve(()=>document.getElementById('form').submit())
}
异步函数测试(){
等待提交表单();
log(“打印我”)
等待睡眠(3000);
log(“也打印我。”)
}
test()


JavaScript无法通过表单提交运行。这会导致浏览器导航到一个新页面(或至少是页面的一个新副本),从而中断并卸载所有脚本考虑使用Ajax在背景中“提交”表单(REF:MDN--)谢谢您的帮助!表单不能通过外观来提交。我不确定是什么原因造成的。感谢您对这一点的帮助!当表单提交出现404错误时,我如何处理?
。catch(..)
,请参阅。