zoukankan      html  css  js  c++  java
  • js关于同步异步的问题以及本地json文件被js加载问题(前端网备份)

    var several=[];
    $.ajax({
    type: "get",
    url: "/js/race.json",
    async:false,        //是否为异步请求,true为异步请求,false为同步请求
    success: function(data) {
    console.log(data);
    dl=data.data;
    for(var i=0; i<dl.length; i++){
    several.push(dl[i].name);
    }
    }
    });
    console.log(several);
    如果这里用的是异步的话,several数组外面读取为空,想异步做只能在success里面传值(这里的原因是因为外面 console log。很难得到正确的数据。因为他们会先执行,但异步过程,拿数据那块儿是后执行的)
    这里涉及到了同步异步的问题
    如果这里用的是同步的话,外面则可以读取到,
    舍弃同步用异步,因为性能更好

    //第二种方法 回调函数可以在外部调用
    var several=[];
    function load_val(callback){
    $.getJSON("../js/race.json",function(data){
    var dl=data.data;
    for(var i=0; i<dl.length; i++){
    several.push(dl[i].name);
    }
    callback(several);
    });
    }
    function b (){
    console.log(several);
    }
    load_val(b);

  • 相关阅读:
    浏览器的渲染过程、渲染原理
    echarts简单用法快速上手
    gulp自动化构建工具使用
    vue路由高级语法糖
    git项目常用命令
    vue项目中快捷语法糖
    UpnP Hacking
    无线路由器认证会话劫持漏洞
    DNS缓存欺骗攻击
    识别无线设备
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/10996897.html
Copyright © 2011-2022 走看看