对于jquery Deferred函数,有什么替代方法吗

Is there any alternative approach to jquery Deferred function?

本文关键字:方法 什么 jquery Deferred 函数 对于      更新时间:2023-09-26

我使用的是Jquery的旧版本<1.5在我的项目中。所以,在第一个函数并没有完成之前,我不希望其他函数执行,这是相同的场景。除了使用Deferred之外,我认为还有其他方法可以从1.5版本中获得吗。

您可以使用不同的东西来代替jQuery defered。例如events或$q。也许这篇文章对你有用在不使用jquery 的情况下实现Deferred对象

是的,你可以这样做。这个想法是,当你调用函数时,你会把一个函数作为参数传递,当你想从主组件返回时,你可以调用你定义为参数的回调函数。

通过这种方式,您可以拥有自己的自定义延迟类功能。

这是工作代码。我在这里使用了暂停。您可以有自己的要求,如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);
 
   } )

在这里,当您调用主组件函数时,另一个函数被定义为参数。这个函数将作为回调函数工作——您可以在ajax成功内部或超时后从主组件函数定义中调用它。

干杯。。。