Javascript 无法读取属性';0';未定义的
当我尝试使用pkgcloud时,遇到一个奇怪的未定义错误,而且属性Javascript 无法读取属性';0';未定义的,javascript,node.js,openstack,pkgcloud,Javascript,Node.js,Openstack,Pkgcloud,当我尝试使用pkgcloud时,遇到一个奇怪的未定义错误,而且属性length未定义: var pkgcloud = require('pkgcloud'); var Q = require('q'); router.get('/', function(req, res, next) { var conn = pkgcloud.compute.createClient({ provider: 'openstack', // required username: 'demo',
length
未定义:
var pkgcloud = require('pkgcloud');
var Q = require('q');
router.get('/', function(req, res, next) {
var conn = pkgcloud.compute.createClient({
provider: 'openstack', // required
username: 'demo', // required
password: 'azerty', // required
authUrl: 'http://192.168.0.242:5000' ,
region_name :'RegionOne'// required
});
console.log(conn);
在此阶段,我可以可视化对象conn
的不同方法,但错误是在for循环中生成的:
var d = Q.defer();
conn.getImages(function(err, images) {
for (var i=0; i<images.length; i++) {
console.log("id: " + images[i].id);
console.log("name: " + images[i].name);
console.log("created: " + images[i].created);
console.log("updated: " + images[i].updated);
console.log("status: " + images[i].status + "\n");
}
if (err) {
console.log("erreur");
d.reject(err);
} else {
console.log("juste");
d.resolve();
}
});
res.render('index', { title: 'Express' });
});
vard=Q.defer();
conn.getImages(函数(错误,图像){
对于(var i=0;i如果您正在接收对象数组,请考虑使用<代码>控制台.Table);< /C> >这将节省您的时间。因为每个人都说先检查错误,然后如果没有错误打印输出。我不知道是否会在表中呈现表,所以请检查浏览器的<代码>控制台< /C> >表输出。< /P>
const img=[{
id:1,
名称:“猫”,
创建:“21-07-99”,
更新:“21-07-99”,
状态:“新”
}, {
id:2,
名字:“狗”,
创建:“26-07-00”,
更新:“26-07-00”,
状态:“新”
}, {
id:3,
名字:“兔子”,
创建:“16-02-10”,
更新:“26-04-10”,
状态:“已修改”
}];
con=(错误,图像)=>{
如果(错误){
日志(“错误”,err);
返回;
}
控制台。表(图像);
};
con(“404未找到”,img);//错误404将打印错误
con(null,img);//没有错误,因此img
在尝试在图像上循环之前,您可能应该检查err
。我尝试了,最终得到了这个错误:error{error:getaddrinfo ENOTFOUND controller controller:8774 at errnoException(dns.js:28:10)at GetAddrInfoReqWrap.onlookup[as oncomplete](dns.js:76:26)代码:'enotfind',errno:'enotfind',syscall:'getaddrinfo',主机名:'controller',主机名:'controller',端口:'8774'}感谢您的回答,所以当我在for循环之前进行错误检查时,我收到了以下错误:“无法识别端点url”因为在您的conn
中,您使用的是region\u name
而不是region:
?当我将region\u name
替换为region
时,我得到了以下错误:`error{error:getaddrinfo ENOTFOUND controller controller:8774 at errnoException(dns.js:28:10)at GetAddrInfoReqWrap.onlookup[as oncomplete](dns.js:76:26)代码:'ENOTFOUND',错误号:'ENOTFOUND',系统调用:'getaddrinfo',主机名:'controller',主机名:'controller',端口:'8774'}`port:'8774'来自`express`?能否隔离您的pkgcloud代码以检查其是否工作端口'8774'是计算服务的端口,但我尝试对我的pkgcloud代码进行延迟,并生成了相同的错误。