$.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); }) }