Javascript 无法读取属性';0';未定义的

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',

当我尝试使用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', // 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代码进行延迟,并生成了相同的错误。