当前位置: 首页 > 知识库问答 >
问题:

设置同步/异步函数序列的正确方法,所有这些函数都可以停止表单提交和进一步处理?

朱锐
2023-03-14

>

  • 我需要在表单提交按钮上按顺序调用一些函数-

    func1()-

    所有这些函数都html" target="_blank">执行某种验证/检查,如果验证失败,则向用户显示确认对话框。如果用户确认,则执行队列中的下一个函数。

    这些函数中的任何一个都可以执行一些异步任务,比如发送Ajax请求,并根据结果向用户显示一些确认对话框。

    细节

    我有以下结构的异步函数-

    function preValidateUrls(evt)
    {
       evt.preventDefault();
    
       $.ajax({
           type: "POST",
           url: posturl+"?"+params,
           dataType: "json",
           success: function(res)
               { 
                     //display some confirmation dialog
                     if(confirm(msg)) 
                     {
                           $("form#frmBanners").submit();
                     }
                }
            });
    }
    

    我该怎么做?

    首先,我刚刚定义了两个像这样的同步函数-

    <form onsubmit="return func3()">
    ...
    ...
    <input type="submit" onclick="return func1()"/>
    </form>
    

    >

  • 函数1()首先被调用,显示确认对话框,然后是函数2()...

    然后我定义了异步函数Func2()(与上面所示的结构相同),并像这样调用它-

    $("输入#formsubmit按钮")。

    但是,正如预期的那样,这并不等待func1()的确认。

    >

  • 如果我喜欢以下内容,函数Func2会被一次又一次地调用-

    $('form#frmBanners').submit(function(){return func2();//这是在preValidateUrls()之后调用的);

    我如何以一种干净的方式完成这项工作,所以明天当我需要在这两者之间添加任何同步/异步函数时,我只需要在一个地方进行编辑,比如-

    func1() -> func2() -> func3() ... -> func7()
    

    我知道如何在javascript中使用回调函数。

  • 共有1个答案

    卢朝
    2023-03-14

    在提交处理程序中只使用一个函数如何:

    <form action="" onsubmit="return func_test_all();">
    </form>
    

    然后在func\u test\u all()中设置一个延迟管道返回false 以防止立即提交表单

    我必须运行,所以我没有完整的代码示例;我希望你能找出延迟的时间;-)大约3小时后才能回来。

     类似资料:
    • 本文向大家介绍不同js异步函数同步的实现方法,包括了不同js异步函数同步的实现方法的使用技巧和注意事项,需要的朋友参考一下 不同函数达到同步的函数模拟 funcList是函数执行函数的队列,其中回调函数中flag=true是同步标记量 以上这篇不同js异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

    • 我在一个函数中有这样的代码块: 它获取一些数据,然后对数据运行验证()。 但是,我对数据的验证实际上也是异步的,因为它是根据一个json模式来验证数据的,而json模式位于一个独立的json文件中,所以它必须首先读取该文件。 我使用了一个承诺来读取文件内容,然后进行验证: 如何编辑此问题中的顶部代码块以解释if语句()中的异步函数?

    • 问题内容: 首先,这是一个非常特殊的情况,它以错误的方式故意将异步调用改型为一个非常同步的代码库,该代码库长成千上万行,并且当前时间不具备进行更改的能力。对的。” 它伤害了我的每一个生命,但是现实和理想往往并没有相互融合。我知道这很糟糕。 好的,顺便说一句,我该如何做,这样我可以: 示例(或缺少示例)全部使用库和/或编译器,这两种库均不适用于此解决方案。我需要一个如何使其冻结的具体示例(例如,在调

    • 我正在开发一个Spring Boot REST API,它可以处理文档并对文档启动检查。 我有一个文档资源:: 使用创建文档 的CRUD操作的其余部分 用户应该通过上的查询参数选择同步还是异步检查? 是否应该创建2个单独的路径? 同样,在异步检查的情况下,我将创建一个临时任务资源,可以将其池化以了解检查的状态。 但是,如果check和task都从相同的路径返回,就会变得混乱,不是吗? 您将如何处理

    • 本文向大家介绍axios异步提交表单数据的几种方法,包括了axios异步提交表单数据的几种方法的使用技巧和注意事项,需要的朋友参考一下 踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSecurity,使用postman测试后端的权限接口时发现都正常,但是使用vue+axios发送异步的请求后端一直获取不出axios提交的form

    • 粗略地说,异步函数 为使用 Promise 的代码提供了更好的语法。 38.1. 异步函数:基础知识 考虑以下异步函数: async function fetchJsonAsync(url) { try { const request = await fetch(url); // async const text = await request.text(); // as