JavaScript 对象未定义
javascript object undefined
$.couch.urlPrefix = "http://192.168.0.5:5984";
var db = $.couch.db("disastri");
var doc;
db.openDoc("esempio",{
success: function(data){
doc = data;
},
error: function(err){
alert("ERRORE: " + err);
},
attachments: true
});
console.log(doc);
为什么?对象文档未定义?如果我尝试将 doc 初始化为空对象,doc 的值仍然是空对象。我确定这不称为错误函数,因为浏览器不向我显示警报窗口。
db.openDoc() - 这是异步调用,这意味着下一个操作员控制台.log(doc)不会等待它完成并在回调函数成功或错误调用之前运行。
将 console.log() 放入回调:
var doc;
db.openDoc("esempio",{
success: function(data){
doc = data;
console.log(doc); // <--- HERE
},
error: function(err){
alert("ERRORE: " + err);
},
attachments: true
});
现在它将在 openDoc() 完成并定义文档时调用。
db.openDoc
异步工作 - 这意味着JS解释器不会等待db.openDoc
执行其工作。它启动异步函数,并继续执行以下代码行 - 而异步仍然有效。因此,在这种情况下,console.log(doc);
在db.openDoc
之前执行。您需要做的是将日志调用移动到success
回调中:
$.couch.urlPrefix = "http://192.168.0.5:5984";
var db = $.couch.db("disastri");
var doc;
db.openDoc("esempio", {
success: function(data){
doc = data;
console.log(doc);
},
error: function(err){
alert("ERRORE: " + err);
},
attachments: true
});
相关文章:
- 在setInterval函数之前声明时未定义对象
- 使用+=运算符未定义对象中的第一个元素
- 通过 Requirejs 传递的未定义对象
- JS:防止访问未定义对象的属性时出错
- AngularJs为什么在ng禁用函数上未定义对象
- IE上未定义对象值
- JQuery函数返回一个对象,但它被集成为未定义对象
- AJAX响应带有未定义/对象文档
- 处理未定义对象的内联比三进制更聪明
- JavaScript错误未定义对象,尽管对象存在
- Javascript未定义对象
- 未定义对象子属性的Javascript类型
- Javascript多维数组未定义对象错误
- 在一条语句中获取多个未定义对象中的初始化对象
- Javascript -对象中的未定义对象
- 是否可以像扩展其他对象一样扩展未定义对象
- Java Script Ionic框架中的未定义对象
- if else子句中未定义对象的未定义属性
- 未定义对象方法
- 在JavaScript中使用typeof仍然会导致未定义对象的错误