$.Deferred 使用 (支持jQuery1.5版本以上)

    {
        let wait2 = function (deferred, type = true) {

            setTimeout(() => {
                if (type) {
                    deferred.resolve({
                        success: true,
                        data: 1
                    })
                } else {
                    deferred.reject({
                        success: false,
                        data: 0
                    })
                }

            }, 1000)
            return deferred.promise()
        }
        $.Deferred(wait2) ///Query规定,$.Deferred()可以接收一个函数名作为参数,所生成的deferred对象将作为这个函数的默认参数
            .pipe((res) => {
                console.log(res)
                //在done前处理数据,只有在成功的情况下才能使用
                res.data = "这是pipe处理完了返回"
                return res
            })
            .done((res) => {
                console.log("成功")
                console.log(res)

            })
            .fail((res) => {
                console.log("失败")
                console.log(res)

            })
            .always(function (res) {
                console.log("成功失败都返回", res);
            })
    }
原文地址:https://www.cnblogs.com/qiu2841/p/12426186.html