mwi*_*ams 12 javascript jquery
我有一个简单的Javascript函数:
makeRequest();
Run Code Online (Sandbox Code Playgroud)
它做了很多东西,并将大量内容放入DOM中.
我做了几个电话:
makeRequest('food');
makeRequest('shopping');
Run Code Online (Sandbox Code Playgroud)
但是,它们都发射得太快,以至于它们踩着对方的脚趾.最终我需要它具有的功能.
makeRequest('food');
wait....
makeRequest('shopping'); only if makeRequest('food') has finished
Run Code Online (Sandbox Code Playgroud)
关于让这些只能一次执行一个的想法?
谢谢!
Vin*_*ert 15
如果这些函数实际上执行了一个AJAX请求,那么最好让它们保持异步.您可以制作同步AJAX请求,但它会阻止浏览器响应并导致糟糕的用户体验.
如果这些AJAX请求是依次相互依赖的,那么你需要调查你的函数以查看它是否提供了一个回调机制.
makeRequest('food', function()
{
// called when food request is done
makeRequest('shopping');
});
Run Code Online (Sandbox Code Playgroud)
使用jQuery,它看起来像那样
$.get("/food", function(food)
{
// do something with food
$.get("/shopping", function(shopping)
{
// do something with shopping
});
});
Run Code Online (Sandbox Code Playgroud)