【发布时间】:2017-12-08 10:35:22
【问题描述】:
我正在使用此代码来模拟我的获取的服务器延迟。
let promises = [];
child.get('authors').forEach(author => author.get('books').forEach(book => {
var promise = new RSVP.Promise(function (resolve, reject) {
let time = (Math.floor(Math.random() * 10) + 1) * 1000;
Ember.run.later(() => {
favoriteList.pushObject(book);
resolve();
}, time);
if (somethingWrong) {
reject(error);
}
});
promises.push(promise)
}));
RSVP.all(promises).then(function () {
console.log('Yoo! Finally!')
}).catch(function (error) {});
我想知道(除了Ember.run.later(),我用它来模拟我所有“获取”的服务器延迟)下面的代码是否存在差异?
child.get('authors').forEach(author => author.get('books').forEach(book => {
favoriteList.pushObject(book);
}));
console.log('Yoo! Finally!')
和这段代码有什么区别?
child.get('authors').forEach(author => author.get('books')
.reduce((accumulator, book) => {
favoriteList.pushObject(book);
})
);
console.log('Yoo! Finally!')
我也想知道性能差异和服务器延迟处理...
【问题讨论】:
标签: javascript arrays ember.js functional-programming ember-data