【发布时间】:2014-10-06 08:28:48
【问题描述】:
我在我的项目中使用的是旧版本的 Jquery Deferred 之外,还有其他方法吗?我认为它可以从 1.5 版中获得。
【问题讨论】:
-
是的,您可以使用自定义回调代替 Deferred
标签: javascript jquery
我在我的项目中使用的是旧版本的 Jquery Deferred 之外,还有其他方法吗?我认为它可以从 1.5 版中获得。
【问题讨论】:
标签: javascript jquery
你可以使用不同的东西来代替 jQuery defered。例如事件或 $q。 也许这篇文章对你有用 Implement Deferred object without using jquery
【讨论】:
是的,你可以做到。这个想法是在调用函数时将函数作为参数传递,当你想从主组件返回时,你调用定义为参数的回调函数。
这样您就可以拥有自己的自定义延迟类似功能。
这是工作代码。我在这里使用了超时。您可以有自己的要求,例如 ajax 成功等。
var mainComponent = function(yourIp, callback) { // define your maincomponent function
setTimeout(function(){
callback("your data");
},5000)
}
mainComponent("any Input", function(responce){ // call your maincomponent function
console.log("callback from your maincomponent " +responce);
} )
这里在调用 maincomponent 函数时定义了另一个函数作为参数。这个函数将作为回调工作,您可以在 ajax 成功或超时后从 maincomponent 函数定义中调用它。
干杯...
【讨论】: