簡體   English   中英

JavaScript:將一個對象分配給另一個對象

[英]JavaScript: Assign an object to another object

我想分配局部變量UgcItemsuploadedItems但是當我嘗試返回,我得到的價值undefined 如果將console.log放在.getJSON內,那么我將獲得適當的值。 問題在於作用域在函數內部。 我該怎么做才能使JSON脫離功能?

$(function(){
    var uploadedItems;
    $.getJSON("GetExistingUgcItems?workItemId=1", function (UgcItems) {
        uploadedItems = UgcItems;
    });

    console.log(uploadedItems);
});

謝謝,

亞倫

您遇到的問題是,默認情況下getJSON異步執行。 因此,分配給uploadedItems后發生console.log(uploadedItems)命令完成。

而不是在根函數中定義uploadedItems ,而是定義一個采用uploadedItems的方法。 將所有使用uploadedItems的代碼放在此函數中,然后從完成的處理程序中調用它

var withUploadedItems = function(uploadedItems) {
  console.log(uploadedItems);
  // etc ...
};

$.getJSON("GetExistingUgcItems?workItemId=1", function (UgcItems) {
  uploadedItems = fromJSON(toJSON(UgcItems));
  withUploadedItems(uploadedItems);
});

暫無
暫無

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

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