javascript - JQuery 1.11.1 Deferred then - 带参数的多个

标签 javascript jquery

我在我的 javascript 函数中发出了一系列延迟的“then”。

在 JQuery 1.7.2 中,我能够创建类似以下示例的内容,从每个示例传递参数以确定是否继续。

myAjaxFunction(myParametersObject)
.done(function (noErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (noErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (noErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (noErrors) {
    if (anyErrors == true) {
        // final code here

    }
});

它在 JQuery 1.7.2 上完美运行,但我正在开发一个需要 JQuery 1.11.1 的项目,但它不再有效。

如何将参数传递给 JQuery 1.11.1 中即将到来的“then”?

最佳答案

myAjaxFunction 返回 jQuery promise 值似乎在 done 处理程序参数参数处定义为 noErrors

.done(function (noErrors) {

.done 处理程序中作为 anyErrors

if (anyErrors == true) {

同样在

.then(function (noErrors) {
    if (anyErrors == true) {
        // call ajax routine

尝试在 handler 中设置与参数参数相同的参数,例如任何错误

<小时/>

var dfd = $.Deferred().resolve(true);
dfd.done(function (anyErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (anyErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (anyErrors) {
    if (anyErrors == true) {
        // call ajax routine

        return true; 
    } else {
        //stop code execution
        return false;
    }
})
.then(function (anyErrors) {
    if (anyErrors == true) {
        // final code here
       document.body.textContent = anyErrors;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

jsfiddle http://jsfiddle.net/zr5rzb7v/1/

关于javascript - JQuery 1.11.1 Deferred then - 带参数的多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31484373/

相关文章:

jquery - 页面中出现奇怪的空白区域。可能是 CSS?

javascript - 单击jquery lightbox的关闭按钮是否可以触发事件

Jquery onclick div 上

javascript - 如何调试 node.js React Express 应用程序

javascript - 将 HTML 表格转换为数组

javascript - Phantomjs Node 注入(inject)JS 中的窗口上不存在 ChaiJs

javascript - 将对象添加到数组

javascript - html.actionlinks 使用隐藏值作为参数

jquery - bootstrap - tabbable,左边的标签根本不起作用

javascript - 让 safari 不显示损坏的图像符号