我试图在变量newID中设置ID的值。 To" fill"变量I我正在阅读这样的模型:
press: function() {
var newID = 0;
oModel.read("/Delivery", null, null, true, function(oData) {
newID = oData.results[oData.results.length - 1].ID;
console.log(newID);
}
console.log(newID);
}
第一个console.log给了我想要的值,但是第二个给了我0(第一个条件集)。我尝试使用增量运算符+ =并使用this.newID,但都是徒劳的。
这真是一个愚蠢的问题,可能是我在控制台上调用newID的方式,或者我在函数内部增加它的方式......
提前致谢。
答案 0 :(得分:3)
这将是一个评论,但它是如此巨大,所以把它作为评论:
oModel.read函数可能是异步的,所以当你执行代码的时候基本上就是这样:
1)您将变量声明为0。
2)执行读取功能。
3)执行console.log(var)=>这个打印0.(因为读取还没有完成,此时它仍然是0)。
4)读取功能完成后,将所需的值分配给var并执行console.log(var)=>这打印出所需的值。
如果是这种情况,您可以实现以下内容:
var press = function() {
var newId = 0;
function callback() {
console.log(newId);
}
oModel.read("/Delivery", null, null, true, function(oData) {
newID = oData.results[oData.results.length - 1].ID;
console.log(newID);
callback();
}
}