0
如何重構下面的代碼?Javascript,Ember 2,如何重構承諾的代碼(也許還有異步/等待)
get(category, "posts").then(posts => {
return all(
posts.map(post =>
get(post, "words").then(words => {
return all(
words.map(word => {
if (!get(word, "hasDirtyAttributes")) {
return false;
}
return word
.save()
.then(() => this.ok())
.catch(error => this.error(error));
})
);
})
)
);
});
此外,我想了解如何避免許多功能時,我有以下的皮棉規則對這個代碼:
[eslint] Use named functions defined on objects to handle promises (ember/named-functions-in-promises)
如何使用異步/ AWAIT?
您如何使用此功能的響應?你甚至需要它嗎?什麼是'this.ok()'和'this.error()'? – Lux
這樣的兩個小函數:'console.log(error)'。無論如何,問題是這個代碼。你會怎麼做? –
'get()'有點混亂。在第一次和第二次使用時,它似乎是*異步*,而在第三次使用時它看起來是*同步*。這是什麼? –