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);

  • 相关阅读:
    C#Light v0.007 又一次重大更新
    BeanFactory和FactoryBean
    java中四种引用类型
    JVM内存区域模型
    无锁算法CAS 概述
    线程安全性
    进程与线程的区别
    hadoop 错误处理机制
    hadoop 任务执行优化
    Hadoop的调度器总结
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/10996897.html
Copyright © 2011-2022 走看看