簡體   English   中英

提取后無法訪問屬性

[英]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.

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