javascript - ajax同步导致JS函数加载惰性
大家讲道理
大家讲道理 2017-04-10 15:45:19
[JavaScript讨论组]

本身定义了一个动画抽奖函数queryRoll,函数里面用到ajax 同步取数据,取完数据返回时候在执行动画效果。然后在执行点击按钮执行queryRoll之前调用一个函数alerts弹出一个层。
现在的问题是由于同步导致了alerts的效果弹不出来,请问这是为啥

queryRoll(){
    getResult:function (){
        //同步取数据
    }
}
$(function (){
    $(".btn").click(function (){
        alerts('请稍后',function (){
            queryRoll();
        })
    })
})

如果改成异步就可以了

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
ringa_lee

猜测alerts函数是不是类似如下实现的
alerts=function(message,callback){
callback();
showMessge(mesage);
};

在callback没有返回之前showMessge对应的DOM元素渲染是没有机会执行的

至于改成异步可以了,是因为callback会马上返回,showMessge顺利执行

迷茫

比较好的做法是在取数据的返回函数中 进行效果的展示 这样无论同步异步都可以实现

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号