我无法更新变量,在看到内容时未定义,我试图将变量data[0]
的值保留在then()
函数之外,最后添加到$范围变量。
我的代码是这样的:
var user = function(){
var usuario;
var uno = MGAindexdb.regresarUsr().then(function(data){
console.log('Dentro de usr');
console.log(data[0]); // here I see the object with it's content
usuario = data[0]; // copy the value to usuario
console.log(usuario); // same data with the object
}).catch(function (e) {
log(e, "error");
});
console.log(usuario); // print undefined
}
user();
// This is how the content looks like in dev chrome tool:
// Object {usr_id: 45, nombre: "jose", email: "jose@gmail.com", fb_email: "jose@gmail.com", registration_date: "2014-05-31T18:03:33.000Z"…}
我读了this article,解释了闭包的工作方式,我认为它不是我的理由,也读了解{javascript范围的great post。但仍然无法弄清楚为什么价值没有得到保存。 提前感谢您的时间。