ES6 y alcance variable dentro de una promesa
No estoy seguro de lo que me estoy perdiendo aquí.
Necesito obtener la salida dedata
dentrothis.contact
. En este momento, estoy usando una variable de clase estática, pero parece sucio tener que hacer eso.
export class contactEdit {
static t; // static class var
constructor() {
this.id = null;
this.contact = null;
contactEdit.t = this;
}
activate(id) {
this.id = id;
let contact = this.contact; // scoped version of class var
return dpd.contacts.get(id).then(function(data) {
console.log(data);
contactEdit.t.contact = data; // this works
contact = data; // this doesn't
});
}
}
Normalmente crearía unvar contact
dentro deactivate()
función (funciona en la consola de Chrome) pero esto no parece funcionar en ES6.
Consola de Chrome:
var c = null;
undefined
c;
null
dpd.contacts.get('a415fdc8f5a7184d').then(function(data) {
c = data;
});
Object {}fail: (n)then: (e,t)__proto__: Object
c;
Object {firstName: "John", lastName: "Doe", id: "a415fdc8f5a7184d"}