如何启动 1 by 1 ajax 请求

可执行文件

我遇到了一些麻烦。我正在尝试一个一个地执行我的 ajax 函数,而不是同时执行。我正在使用,promise但我不知道如何实现它。这是我的代码:

function run_action(action){
    if(action == "login"){
        return $.ajax({
            url: "login.php",
            type: "post",
            data: {password: password},
            beforeSend: function() {
                console.log('beforeSend login');
            },
            success: function (response) {
                console.log('Success Login');
            },
            error: function (request, error) {
                console.log('Error Login');
            },
        })
    }
    if(action == "register"){
        return $.ajax({
            url: "register.php",
            type: "post",
            data: {password: password},
            beforeSend: function() {
                console.log('beforeSend register');
            },
            success: function (response) {
                console.log('Success Register');
            },
            error: function (request, error) {
                console.log('Error Register');
            },
        })
    }
}

var actions = ['register', 'login'];
services.forEach(checkActions);
function checkActions(item, index) {
    if (document.getElementById(item).checked) {
        var promise = run_action(item);
        promise.success(function (data) {
            console.log('Run after');
        });
        console.log('Run first')
    }
}

在这种情况下loginregister两者同时启动,login不会等待register完成,因此他可以开始处理。

乔纳斯·威尔姆斯

如果您无法checkActions从外部正常等待,您可以为此维护一个任务队列:

 let queue = Promise.resolve();

 function checkActions(item, index) {
    queue = queue
     .then(() => run_action(item))
     .then(() => {
       console.log("Next item was processed", item);
       // Your code here
     });
   // Synchronous code here - This won't execute in order!
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xmldocument:如何请求ID =“ 1”;

来自分类Dev

如何在ajax请求完成后1秒钟递归调用函数?

来自分类Dev

如何在ajax请求中更改Polymer v1.x属性

来自分类Dev

在发送AJAX请求之前,如何捕获#select1和#select2值?

来自分类Dev

jQuery ajax 1单击发送多个请求

来自分类Dev

用1个ajax发送2个请求

来自分类Dev

Ajax请求在iPad 1(iOS 5.1.1)上不起作用

来自分类Dev

PHP AJAX JQuery xmlhttp请求Get方法始终发送1

来自分类Dev

如何取消已经使用本机javascript启动的AJAX请求

来自分类Dev

预期 1 个匹配请求,发现 2 个请求。我如何测试 2 个请求

来自分类Dev

如何延迟Ajax请求?

来自分类Dev

如何从联接请求(Yii1)向模型添加属性?

来自分类Dev

如何使用 angular js 1 同时执行多个 post 请求

来自分类Dev

离子 1 外部 HTTP 请求

来自分类Dev

如何在仅1个请求中减少3个graphQL Apollo请求

来自分类Dev

如何为Firestore REST API(v1beta1)构建“写入”请求?

来自分类Dev

使用.promise()使Ajax请求首先启动?

来自分类Dev

重新启动或覆盖Ajax请求

来自分类Dev

使用.promise()使Ajax请求首先启动?

来自分类Dev

如何等待ajax请求?

来自分类Dev

如何到达先前的ajax请求

来自分类Dev

如何保护Ajax链接请求?

来自分类Dev

如何从服务发出ajax请求?

来自分类Dev

如何修复ajax调用请求

来自分类Dev

如何以1秒的间隔对组件进行Ajax更新?

来自分类Dev

Ajax返回1时如何删除setTimeout函数?

来自分类Dev

Ajax返回1时如何删除setTimeout函数?

来自分类Dev

Yii 1:如何对从Ajax渲染的tbgridview进行排序

来自分类Dev

在我的角度应用程序的路由启动之前,如何执行AJAX请求?

Related 相关文章

热门标签

归档