分配后Javascript对象仍为null

时间:2014-11-23 13:48:58

标签: javascript json object global variable-assignment

我有一个函数 setStatus ,我这样称呼:

$.getJSON( '/api/v1/status', setStatus );

该功能如下所示:

function setStatus(data) {
    status = data;
    console.log(data);
    console.log(status);
    timer  = setInterval(updateStatus, 1000);
}

当我运行它时,控制台在包含我的数据的第一行打印一个漂亮的对象,但它为第二行打印 [object Object] 。稍后我的 updateStatus 会尝试使用这些数据来计算正常运行时间值:

function updateStatus() {
    var table = $('#status');
    table.find('#uptime').text(calculateUptime(status.bootTime*1000));

该表显示了一堆NaN,因为变量“status”为空。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否在某个更高的范围内正确声明了status变量?

你应该有一个

var status = null;

在全局范围内的某个位置,或者在定义所述函数的闭包内部。 这有帮助吗?