Recentemente ho iniziato a lavorare con JS Promise
s. Quello che mi piace sempre fare, è creare la funzione, che restituisce un Promise
con il risultato finale desiderato, ma faccio solo 1 operazione / then
. Considerare qualcosa di simile (questo preleva le versioni di un pacchetto npm in un array in ordine inverso):
function packageVersions(name) {
return fetchJson(npmUrls.getPackageUrl(name))
.then(npmPackage => npmPackage.versions)
.then(versionsObject => Object.keys(versionsObject))
.then(versions => versions.sort((a, b) => b.localeCompare(a)));
}
Come se stessi facendo un sacco di .maps in sequenza.
La mia domanda sarebbe: è considerata una buona pratica in generale? Questo potrebbe avere significativi inconvenienti di perfomance, se faccio un sacco di concatenamento? Consideri questo illeggibile in qualche modo?
Sarebbe meglio?
function packageVersions(name) {
return fetchJson(npmUrls.getPackageUrl(name))
.then(npmPackage => {
const versions = Object.keys(npmPackage.versions);
return versions.sort((a, b) => a.localeCompare(b));
});
}