mssql数据库定义全局变量问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql数据库定义全局变量问题相关的知识,希望对你有一定的参考价值。

参考技术A ms指的是微软microsoft,sql是结构化查询语言.结合起来就是说:ms
sql是指微软的sql
server数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

在全局变量中存储 getJSON 数据,但后来说它未定义

【中文标题】在全局变量中存储 getJSON 数据,但后来说它未定义【英文标题】:Stock getJSON data in a global var but later says its undefined 【发布时间】:2019-05-12 00:00:31 【问题描述】:

所以我想使用 $.getJSON 获取数据并将其存储在一个变量中以供以后使用。即使我在 $.getJSON 之前声明了变量“subcount”,当我真正想用它做某事时,我还是把它当作未定义的。我的代码如下所示:

function loadSubs() 
        channel_url = "https://www.googleapis.com/youtube/v3/channels?part=statistics&id="+channelId+"&key="+key;

            var subcount;

            $.getJSON(channel_url, function(data) 
                subcount = data.items[0].statistics.subscriberCount;
                console.log("In scope: "+subcount);
            );

        console.log("Out of scope: "+subcount);
        do_something_with_data();
        

控制台给了我

 Out of scope: undefined
 In scope: 1364189

似乎当它离开 getJSON 范围时,变量返回到未定义状态。我试图用

初始化它
subcount = '';

为了使其全局化,但它做同样的事情,而不是未定义,我得到一个空白字符串。我也认为首先出现范围外日志的事实是问题的一部分。

我错过了什么吗?如果是这样,你能解释一下吗?还有其他方法吗?

谢谢

编辑:我根据这个答案在另一个线程上声明了“subcount” jQuery getJSON save result into variable

【问题讨论】:

欢迎来到异步处理的精彩世界。 需要注意的重要一点是它记录了Out of scopefirst。换句话说,它会在您设置之前记录该值。这种模式不起作用,并且链接问题的答案非常具有误导性。 谢谢马克,我会继续研究 【参考方案1】:

基于此线程:Is it possible to set async:false to $.getJSON call

我将 $.getJSON 更改为 $.ajax 并放入 async:false

function get_subcount(chan_url) 
            var subcount;
            $.ajax(
                url:chan_url,
                datatype:'json',
                async:false,
                success: function(data) 
                subcount = data.items[0].statistics.subscriberCount;
                
            );
            return subcount
        

现在我在之前的“范围内”和“范围外”中得到了相同的答案

【讨论】:

以上是关于mssql数据库定义全局变量问题的主要内容,如果未能解决你的问题,请参考以下文章

fortran 定义全局变量

什么是全局变量

C语言中,宏替换与定义全局变量的区别是啥?

matlab global定义全局变量的问题

qml全局变量定义建议

解释啥是全局变量,如何定义