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

  • 相关阅读:
    while循环和递归
    ASP.NET Core Swagger 显示接口注释
    ABP依赖注入
    EF Core 笔记
    .NET Core 管道过滤器扩展
    ABP权限认证
    552 you must authentication
    C# 多线程写文件,时常写不成功
    .Net 的一些插件
    多线程下HttpContext.Current 的问题
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/10996897.html
Copyright © 2011-2022 走看看