JavaScript ci permette di creare metodi asincroni nelle classi.
Si tratta di aggiungere la parola chiave async prima del nome del metodo.
'use strict';
class Person {
constructor(firstname, lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
setInitials() {
let self = this;
return new Promise((resolve, reject) => {
if(!typeof self.firstname === 'string' && !typeof self.lastname === 'string') {
reject('Invalid values');
}
resolve(self.firstname[0].toUpperCase() + self.lastname[0].toUpperCase());
});
}
async getInitials() {
try {
let initials = await this.setInitials();
return initials;
} catch(err) {
return err;
}
}
}