嗨,这可能是一个初学者问题,但我一直在努力弄清楚在从控制器发出this.get()请求时如何获得回调。
例如:
this.get( '模型')。然后(函数(){ //在这里做回调 })
当我尝试在我的控制器中执行此操作时,我收到错误“Uncaught TypeError:Object [object Object]没有方法'然后'”
我试图回复的原因是我正在尝试处理UI中的加载事件 - 例如在加载数据时显示微调器
答案 0 :(得分:2)
我在尝试这是在我的模型的hasMany或belongsTo属性上。
如果关系属性被标记为异步,则此语法才有意义,因为我的不是。
我发现感谢@ S'pht'Kr你只需要.then(...)部分,如果有可能相关模型尚未加载 - 即属性确实包含DS.PromiseObject或DS.PromiseArray,即它是异步关系。
因此,将我的模型上的关系属性设置为 async:true 允许我使用'.then()'
来回复承诺答案 1 :(得分:0)
您收到该错误的原因是this.get
未返回承诺。
您可以在把手级别显示旋转器,我发现这是最清晰的方法。例如,如果您正在使用最终将填充一些数据的数组控制器:
{{#each}}
<p>{{name}}</p>
{{else}}
<div class="spinner">Loading content...</div>
{{/each}}