gpt4 book ai didi

ember.js - EmberJS实现多个嵌套的Promise

转载 作者:行者123 更新时间:2023-12-02 06:09:59 26 4
gpt4 key购买 nike

我想返回一个对象数组。我的代码如下所示:

var apps = [];

this.get('groups').then(function(groups)
{
groups.forEach(function(group)
{
self.store.find('module', group.get('module').get('id')).then(function(module)
{
self.store.find('app', module.get('app').get('id')).then(function(app)
{
if(!apps.contains(app))
apps.pushObject(app);
});
});
});
});

我想在完成foreach循环后返回所有应用程序,但我不知道。

最佳答案

您必须始终返回 promise ,以继续构建链。

var self = this;

return this.get('groups')
// Return an app for each group
.then(function (groups) {
return Ember.RSVP.Promise.all(groups.map(function (group) {
return self.store.find('module', group.get('module.id'))
.then(function (module) {
return self.store.find('app', module.get('app.id'));
});
}));
})
// Filter out duplicates
.then(function (apps) {
return apps.uniq();
});

关于ember.js - EmberJS实现多个嵌套的Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24104724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com