簡體   English   中英

為什么這個對象突然變得不確定?

[英]Why is this object suddenly undefined?

這是我的JavaScript代碼:

var Model =
{
    get: function(id)
    {
        return this.data[id];
    },

    data: {},

    init: function()
    {   
        var self = this;

        $.getJSON(urlToServer, function(data)
        {
            $.each(data, function(i, object)
            {
                self.data[object.id] = object;
                console.log(object.id); // output is: 1, then 2, then 3
            });
        });
    }
};

Model.init();
console.log(Model); // output is the initialized object with children objects 1, 2, 3
console.log(Model.get(1)); // output is undefined

從控制台輸出中可以看到,我在注釋中輸入了所有內容,直到最后一行代碼為止。 我定義一個模型,並使用服務器提供的一些JSON對象對其進行初始化。 但是突然之間,當我嘗試通過get()方法訪問單個子對象時,該模型似乎未定義。

我不明白,請幫幫我。

謝謝。

查看您使用的示例代碼,Model.get(1)將始終返回未定義。

$ .getJSON是一個AJAX調用,不一定立即返回(稱為異步)。 您將需要使用提供給$ .getJSON的回調來觸發依賴於Model.get(1)的任何邏輯,否則它將保持不確定狀態。

$.getJSON是一個異步請求,在調用Model.get()之前必須等待響應

您試圖檢索對象的字段“ 142”。 我想你只能從json獲得“ 1”,“ 2”和“ 3” ID嗎? 如果我是正確的,那么get函數將為您返回正確的答案,因為不存在對象字段“ 142”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM