【问题标题】:How do I change the value of a variable inside of a function [duplicate]如何更改函数内部变量的值[重复]
【发布时间】:2020-08-03 18:52:51
【问题描述】:

我想改变一个变量的值。我尝试了以下方法,但它不起作用:

    function MapData() {
      var  bbs=0 ;
        $.ajax({
            url: "/admin/subfactors/BBth",
            type: "GET",
            success: function (result) {
                bbs = result;
               }
            }
        });
        return bbs;
    };

【问题讨论】:

标签: javascript ajax asp.net-mvc function variables


【解决方案1】:

$.ajax 是异步的,所以需要等待它完成:

async function MapData() {
    var  bbs=0 ;
    bbs = await $.ajax({
        url: "/admin/subfactors/BBth",
        type: "GET",
    });
    return bbs;
});

然后当你调用它时:

let bbs = await MapData()

【讨论】:

    【解决方案2】:

    您需要使用回调(或其他方式来处理异步行为)(您的 ajax 请求是异步的,因此您的返回发生在请求完成之前。

    function MapData(cb) {
    $.ajax({
        url: "/admin/subfactors/BBth",
        type: "GET",
        success: function (result) {
            cb(result)
           }
        }
    });
    
    function cb(result) {
        console.log(result)
    }
    
    MapData(cb)
    

    【讨论】:

      猜你喜欢
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      • 1970-01-01
      • 2016-03-28
      • 2019-02-10
      • 2013-04-02
      • 1970-01-01
      相关资源
      最近更新 更多