0

我正在使用以下编码模式:

function submit() {

    function submitModalDone() {
        // do something
    }

    function submitModalFail() {
        // do something
    }

    $.ajax(
       {
           url: "xxx"
       })
       .done(submitModalDone)
       .fail(submitModalFail);
}

我将 submitModalDone 和 submitModalFail 放在提交函数中,因为它们仅从 $.ajax 调用。

但是,将我的代码按原样添加到函数末尾和所有子函数之后是否是个好主意。是否有更适合此的设计模式?$.ajax 代码和其他代码只是位于任何容器之外,这似乎很奇怪。

4

1 回答 1

1

我认为这是一个体面的、描述性的模式。

但是,您可能希望像这样构造它:

var submit = (function () {

    function submitModalDone() {
        // do something
    }

    function submitModalFail() {
        // do something
    }

    return function () {
        $.ajax({
            url: "xxx"
        }).done(submitModalDone).fail(submitModalFail);
    };

}());

这避免了创建submitModalDone,并且submitModalFail每次都submit被调用。

于 2012-11-21T15:06:02.233 回答