JavaScript: creare metodi asincroni nelle classi

JavaScript: creare metodi asincroni nelle classi

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;
        }
    }

}

Torna su