我是红宝石的新手! 这是我的代码:
<script>
export default {
computed: {
hasLoadedData() {
// Or whatever criteria you decide on to represent that the
// app state has finished loading.
return this.$store.state.something !== null;
}
}
}
</script>
<template>
<div id="app">
<router-view v-if="hasLoadedData" />
<p v-else>Loading...</p>
</div>
</template>
当我用
运行它时require 'sdk'
def get_teams_from_evident
teams_api = SDK::Team.all
teams = []
loop do
teams_api.each do |team|
puts team.name
teams << team
end
if teams_api.next_page?
team_api = teams_api.page(teams_api.next_page_number)
else
break
end
end
teams
end
程序永远不会退出,循环仍然悬挂......
我做错了什么?
答案 0 :(得分:0)
正如评论所说,你的循环结束的唯一方法是teams_api.next_page?
返回false
。如果循环继续循环,那么您可以推断teams_api.next_page?
总是返回true。这似乎不合逻辑,您的下一步应该是查看#next_page?
。
这不是你的循环可以挂起的唯一方式。我之前被愚弄过,认为我的循环在旋转,实际上循环中的函数调用已经冻结了。您可以在循环开始时添加puts 'loop start'
以确保,或者您可以使用像Byebug这样的宝石来逐步执行代码。