This question has already been answered:
The question is in the comments to the code.
export default class Abstract { construct(field = 'defaultField') { this.field = field; } method() { const promise = new Promise((resolve, reject) => { resolve('newField'); }); promise.then( (newField) => { this.field = newField; } ); console.log(this.field); // defaultField - Почему? И как изменить this.field на newField? // Получается я устанавливаю поле this.field для функции then? } }