强制Javascript函数调用等到上一个完成

前端之家收集整理的这篇文章主要介绍了强制Javascript函数调用等到上一个完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的 Javascript功能
makeRequest();

它做了一堆东西,并将一堆内容放在DOM中.

我打了几个电话:

makeRequest('food');
makeRequest('shopping');

然而,他们都很快地射击,他们正在踩在对方的脚趾上.最终我需要它具有的功能.

makeRequest('food');
wait....
makeRequest('shopping'); only if makeRequest('food') has finished

想要让它们一次只能执行一次?

谢谢!

解决方法

如果这些函数实际上是一个AJAX请求,那么你最好保持异步.您可以制作同步的AJAX请求,但会阻止浏览器进行响应,并导致用户体验不佳.

如果这些AJAX请求是由于依赖于彼此而要求的,那么您应该调查您的功能,以查看它是否提供回调机制.

makeRequest('food',function()
{
    // called when food request is done
    makeRequest('shopping');
});

使用jQuery,它看起来像这样

$.get("/food",function(food)
{
    // do something with food

    $.get("/shopping",function(shopping)
    {
        // do something with shopping
    });
});
原文链接:https://www.f2er.com/js/153976.html

猜你在找的JavaScript相关文章