作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过代码twitter.tweets()
获取推文,但是Twitter
类的ajax方法仅返回Deferred对象 如本问题底部所示。
class Twitter
tweets = []
getTweets: ->
tweets_array = []
$.getJSON('http://search.twitter.com/search.json?callback=?&rpp=100&q=%40weed_7777')
.done((data) =>
$.each data.results, (i, item) ->
tweets_array.push item.text
@tweets = tweets_array
)
twitter = new Twitter
###
Present Code
###
twitter.getTweets()
.done ->
console.log twitter.tweets
###
Ideal Code ... very simple !
###
console.log twitter.tweets()
谢谢你的好意。
最佳答案
如果您使用 Javascript,您应该高度意识到您正在异步/事件环境中工作。所以最终你将被迫习惯这一点。当然,有一些策略可以让生活变得更轻松,例如使用异步库( https://github.com/caolan/async )
async.series [
(callback) =>
$.getJSON('http://search.twitter.com/search').done (data) =>
@tweets = (item for item in data)
callback(null, pass_some_data_if_you_want)
,
(callback) =>
$.getJSON('http://search.twitter.com/some_other_search').done (data) =>
do_what_ever_you_want_and_need()
callback(null, pass_some_data_if_you_want)
],
(error, result) => handle_error_case(error)
显然,只有当您想要连续执行多个操作时,这才有意义。如果你只有一个。比你的代码
twitter.getTweets().done -> console.log twitter.tweets
这是最好的方法。
关于javascript - 想要获取的不是延迟对象而是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214253/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!