Javascript-如何确保在再次执行主函数之前终止回调函数

Javascript-如何确保在再次执行主函数之前终止回调函数,javascript,ajax,callback,synchronization,Javascript,Ajax,Callback,Synchronization,大家好,我的问题是: 我想调用一个函数(“funcA”),它返回一些数据(ajax调用),然后通过回调函数使用这些数据。当回调函数执行完成时,我想用不同的参数调用同一个函数(“funcA”) 我想要的是在第二次调用funcA时确保回调函数已完成的最佳方法 funcA("firstParameter", function(callbackData){/*useCallbackData...*/ }); //当funcA回调函数完成执行后,继续以(“secondParameter

大家好,我的问题是:

我想调用一个函数(“funcA”),它返回一些数据(ajax调用),然后通过回调函数使用这些数据。当回调函数执行完成时,我想用不同的参数调用同一个函数(“funcA”)

我想要的是在第二次调用funcA时确保回调函数已完成的最佳方法

         funcA("firstParameter", function(callbackData){/*useCallbackData...*/ });
//当funcA回调函数完成执行后,继续以(“secondParameter”)作为参数运行funcA

         funcA("secondParameter", function(callbackData){/*useCallbackData... */});
提前谢谢

就把它们放在窝里

funcA("firstParameter", function(callbackData1){

    funcA("secondParameter", function(callbackData2){


    });

});

另一个选择是promises,但对于两个异步函数,嵌套确实是最简单的

有可能通过承诺来实现吗?如果我还必须返回其他数据,那么我应该如何返回deferred.promise()?当然可以通过promissions来完成,但是您想使用仅在较新浏览器中支持的本机promissions吗?您想使用实现promissions的库(如Bluebird),还是已经在使用jQuery,它有自己版本的promises等。此外,如果第一个回调函数(我指的是回调函数,而不是第一个funcA)操作DOM操作DOM,第二个回调函数依赖于被操作的DOM,第一个回调函数的执行时间比第二个funcA使用ajax调用获取callbackData2所需的时间要长,那么这将失败。我错了吗?你错了,在调用第二个
funcA
函数之前所做的任何DOM操作都可以在第二个函数的回调中使用。DOM操作是同步的,所以这不是一个问题