Diversión con las promesas hoy... Estoy tratando de averiguar por qué no puedo referirme a esto. Prometo resolverlo con otro método, siempre es nulo.
Cualquier aclaración es apreciada :)
export default class Example { constructor() { this.promise = null } test() { this.promise = new Promise((resolve, reject) => { this.something() }).then(resolve => { // resolved, do something else }).catch(reject => { console.log('reject', reject) }) } something() { this.promise.resolve() } }Está tratando de usar this.promise en something antes de que su valor cambie de null . Otra forma de hacer esto es pasar la resolve como argumento:
class Example { constructor() { this.promise = null; } test() { this.promise = new Promise((resolve, reject) => { this.something(resolve); }).then(result => { console.log('resolve', result); }).catch(error => { console.log('reject', error); }); } something(resolve) { resolve(1); } } const example = new Example(); example.test();