Size: a a a

2020 March 16

B

Bola in JS for testing
mkots
А почему бы не написать асинхронный конструктор?
constructor(param){
return (async () => { this.value = await param;
return this;})()
}
можно по всякому
тут главное - понять структуру, как page строится, как класс должен выглядеть
источник

AP

Alexander Popov in JS for testing
думаю не должно...
источник

m

mkots in JS for testing
А почему нет-то?
источник

AP

Alexander Popov in JS for testing
конструктор должен возвращать plain value
источник

AP

Alexander Popov in JS for testing
не промис
источник

VG

Vitalii Grygoruk in JS for testing
Async constructor где в пропоузалах только на ранней стадии емнип
источник

m

mkots in JS for testing
Alexander Popov
не промис
Хз, вроде все норм
источник

AP

Alexander Popov in JS for testing
покаж )
источник

m

mkots in JS for testing
class A {
   constructor() {
       return (async () => {
           this.value = '12'
           return this;
       })();
   }
}
const iA = await new A();
источник

m

mkots in JS for testing
Вот сейчас смотрю на это и понимаю что это какой-то хак дебильный
источник

BO

Boris Osipov in JS for testing
mkots
class A {
   constructor() {
       return (async () => {
           this.value = '12'
           return this;
       })();
   }
}
const iA = await new A();
ну так все равно промис..
источник

AP

Alexander Popov in JS for testing
ничесе, работает
источник

AP

Alexander Popov in JS for testing
интересно...
источник

m

mkots in JS for testing
Boris Osipov
ну так все равно промис..
ну, iA.value уже не undefined
источник

AP

Alexander Popov in JS for testing
а с каких пор можно в конструкторе ретурн делать?
источник

m

mkots in JS for testing
А когда нельзя было?
источник

OK

Oleksandr Khotemskyi in JS for testing
Alexander Popov
а с каких пор можно в конструкторе ретурн делать?
давно уже, просто это неочевидно что ты конструируешь один обьект а получаешь другой, потому стараются так не юзать
источник

BO

Boris Osipov in JS for testing
Alexander Popov
а с каких пор можно в конструкторе ретурн делать?
так там IIEF вроде же
источник

AP

Alexander Popov in JS for testing
mkots
А когда нельзя было?
Promise.resolve(12).then(val => new A(val)).then(obj => console.log('success', obj.value))
источник

AP

Alexander Popov in JS for testing
success 12
Promise {<resolved>: undefined}
источник