当其中包含的变量增加时,Javascript值不会改变

bdfh

我在node.js中有一个程序。它连接到提供数据的JSON文件的Web服务,但是该文件仅显示有限数量的数据(每个请求500条记录),从请求中的index参数的值开始。“ lastentry”返回当前数据页中最后一条记录的ID。Lastpage是一个布尔值,指示何时到达最后一页。

第一个请求如下所示:http : //example.com/data.json?index=0

我构建此函数来获取最后一条记录的ID。它会自我调用,直到最后一页为真。根据我从JSON读取的值,index变量随每个请求正确增加,但是即使“ url”是根据index变量构建的,它也不会改变并且始终保持为0。这是为什么?

var lastpage = false;
var index = 0;
var url = "http://example.com/data.json?index=" + index;

function getLastEntry() {
    request(url, function (err, resp, body) {
        if (err || resp.statusCode != 200) {
            // error handling
        } else {
            var data = JSON.parse(body);
            index = data.lastentry;
            lastpage = data.lastpage;

            if (lastpage == false) {
                getLastEntry();
            }
        }
    }
}

getLastEntry();
尖尖的

那不是JavaScript的工作方式。一旦初始化了变量“ url”,初始化表达式将不再被计算。但是,只要将计算移到那里,就可以安排每次调用“请求”时都发生:

var url = "http://example.com/data.json?index=";

function getLastEntry() {
    request(url + index, function (err, resp, body) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

会话变量在增加时不会改变

来自分类Dev

增加计数器不会改变其他变量的值

来自分类Dev

滚动时 OnNestedScroll 值不会改变

来自分类Dev

元素的值不会改变

来自分类Dev

单击值时微调器不会改变

来自分类Dev

Javascript不会改变背景

来自分类Dev

图片在点击时不会改变-javascript

来自分类Dev

重叠变量不会改变变量

来自分类Dev

登录时视图不会改变,但注册后会改变

来自分类Dev

Scheme 全局变量不会改变

来自分类Dev

int类型字符串时我改变int值不会改变

来自分类Dev

列表的值不会改变编程

来自分类Dev

int 的值在 for 循环中不会改变

来自分类Dev

Java 堆大小值不会改变

来自分类Dev

为什么 count 的值不会改变

来自分类Dev

元组布尔值不会改变

来自分类Dev

php.ini 不会改变值

来自分类Dev

Redux Form 不会改变值

来自分类Dev

班级成员在分配时不会改变

来自分类Dev

jQuery代码在点击时不会改变

来自分类Dev

jQuery代码在点击时不会改变

来自分类Dev

滚动时颜色不会改变

来自分类Dev

背景颜色不会改变javascript

来自分类Dev

仅在使用Jquery UI滑块点时按下点时,滑块的值不会改变

来自分类Dev

从构造函数内部调用私有方法不会改变变量的值

来自分类Dev

在 while 循环中的语句“a - 1”之后,变量“a”不会改变它的值

来自分类Dev

更改与动画道具绑定的变量的值后,activityIndicator 的可见性不会改变

来自分类Dev

如果变量由递增的数字组成,为什么它的值不会改变?

来自分类Dev

当Url参数改变时,Angular StateParams不会改变吗?