gpt4 book ai didi

javascript - 如何等到异步步骤完成?

转载 作者:行者123 更新时间:2023-11-30 13:07:53 25 4
gpt4 key购买 nike

我有一个表单,需要在提交之前运行一些验证操作。这些操作涉及异步步骤,例如 ajax 调用。

如何让表单等待所有验证操作完成后再提交?

我的验证函数如下所示(伪代码):

function preSubmit() {
// validate field 1
ajax({
...
onSuccess:...
});
// validate field 2
ajax({
...
onSuccess:...
});
// fields 3, 4, etc.
}

我当前的问题是在 onSuccess 回调完成之前提交了表单。

我当然可以使我的 ajax 调用同步,但由于性能影响,我正试图避免它。

最佳答案

如果您正在使用 jQuery,那么您可能需要考虑 JQuery.Deferred 或 Promise

当前一个调用完成(成功或失败)时,您调用每个 ajax 请求(或包含该请求的函数)。

如果你使用 $.when 你可以通过 .then 回调来管理失败的请求。如果您使用 promises,那么您可以在各种场景中使用 .done .fail.always 回调。

$.when($.ajax("...."), $.ajax("...."))
.then(...);

资源:

关于javascript - 如何等到异步步骤完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987760/

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