我在Web应用程序中有一个函数,它调用AJAX来更新元素。我有其他使用此功能的函数,以及使用这些函数的其他函数。
假设我有一个进行AJAX调用的函数A.函数B调用函数A,函数C调用函数B。
现在假设我有函数D,这是另一个进行AJAX调用的函数。
我想调用函数C,然后调用函数D.问题是我遇到了一个问题,有时函数D正在使用从函数C调用返回的响应。所以我不希望函数D在从函数C的AJAX请求收到响应之前运行。
由于AJAX请求到目前为止发生在链(C> B> A),看起来像是一个让函数C接受回调,然后将该调用传递回B的黑客,它将该回调传递给这样A可以在收到对它的AJAX请求的响应之后调用该回调函数。
这实际上是最好的方法,还是可以更干净地完成?如果它有所作为,我更喜欢不使用任何额外库的解决方案(例如jQuery。)
非常感谢您的帮助。
答案 0 :(得分:0)
您想使用promise模式。
答案 1 :(得分:0)
如果使用PHP,可以将ajax事件绑定到元素而不是回调,使用像http://phery-php-ajax.net这样的库