• 在JavaScript中想让一个函数执行完毕之后再执行下一个函数?


    先说结论:

    首先,JavaScript是解释性语言,本来就是顺序执行的!!

    所以,如果发现有一段js代码总是在一段代码之前就执行完了,比如说报了null异常,那么有可能是回调函数的异步机制造成的。

    此种情形下解决的方法是,把要执行的函数放在回调函数内部就可以了。

    举个栗子

    例如用JQuery Ajax 的 $.getJSON 方法:

    $(function () {
    $.getJSON("url", function (res) {
    $("#myDiv").append("<div id = "divId">"+res.name+"</div>");
    }
    });
    $(function(){
    var a = document.getElementById("divId");
    console.log(a.innerHTML);
    });

    这种情况下结果是null,这就是因为第二个函数会在第一个含有回调函数的函数执行完毕之前就开始执行了,还没等append()方法执行,所以结果为空。那么把第二个方法放入回调方法内

    $(function () {
    $.getJSON("url", function (res) {
    $("#myDiv").append("<div id = "divId">"+res.name+"</div>");
    printA();
    }
    });
    function printA(){
    var a = document.getElementById("divId");
    console.log(a.innerHTML);
    }
    

      

    结果为res.name

  • 相关阅读:
    返回一个一维整数数组中最大子数组的和02
    软工作业04四则运算网页版
    所有子数组的和的最大值
    学习进度表(第五,六周)
    学习进度表(第四周)
    四则运算2的单元测试
    《构建之法》阅读笔记02
    软工作业03
    单元测试练习
    学习进度表(第三周)
  • 原文地址:https://www.cnblogs.com/deepalley/p/14747959.html
Copyright © 2020-2023  润新知