Ember: 我如何判断 peekAll returns 是否有模型?

Ember: How can I tell if peekAll returns any models?

我有一个外部 API,只有当我还没有返回数据的模型时,我才希望调用它。

我正在尝试在我的路线中做这样的事情:

let positions = this.store.peekAll('position');
if (positions.content.length < 1) {
    //make API call to fetch new data
}

但我正在学习无法在 .content 上调用 length 的艰难方法。 :/ 解决这个问题的最佳方法是什么?我试着只查看变量 positions,但无论是否有数据,都会返回该对象。

PS。我不能在这里使用某些 ember 的内置缓存方法,因为我正在查询而不是使用 findRecord 或 findAll。

如今 content sub-属性 不应该使用,public 已经弃用了几年(因为 content prop returns 一个带有 InternalModels 的数组)。

你有两个选择:

  1. 获取原生数组:positions.getArray().length
  2. 通过计算得到长度属性:positions.get('length')