[英]JavaScript: Assign an object to another object
我想分配局部變量UgcItems
到uploadedItems
但是當我嘗試返回,我得到的價值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.