[英]Unable to access attribute after fetch
我正在Web控制台中測試一些代碼(使用coffescript)
@user = new Onethingaday.Models.User()
@user.url= "/users/#{current_user.get('nickname')}.json?id_type=nickname"
@user.fetch()
console.log(@user)
console.log(@user.get("facebook_id"))
console.log(@user)
行顯示以下內容:
但是, console.log(@user.get("facebook_id"))
顯示undefined
。
我看到該user
具有facebook_id
屬性。 如何檢索它的值?
這看起來像一個時間問題,雖然是一個奇怪的問題。 fetch
是異步的; 您需要等到調用success
回調后才能嘗試訪問任何屬性。
嘗試這個:
@user.fetch success: =>
console.log(@user)
console.log(@user.get("facebook_id"))
令人困惑的是,第一個console.log
會顯示user.attributes.facebook_id
現有而第二個不會,但是console.log
本身在Webkit的實現中是異步的,所以正在發生的是@user.get
調用正在立即解決(同步),而在fetch
完成后,第一個console.log
的對象檢查將在稍后解決。
看起來facebook_id是@user對象的attributes屬性的屬性。 如果是這種情況,我認為以下內容可行:
@user.attributes.facebook_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.