0

当我尝试使用 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);

在这个阶段我可以可视化 object 的不同方法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' });
});
4

1 回答 1

0

如果您正在接收对象数组,请考虑使用console.table();- 这将节省您的时间。正如大家所说,先做错误检查,然后如果没有错误打印输出。我不知道 SO 是否会在片段中呈现表格,所以请检查您的浏览器的console表格输出。

const img = [{
  id: 1,
  name: "cat",
  created: '21-07-99',
  updated: '21-07-99',
  status: "new"
}, {
  id: 2,
  name: "dog",
  created: '26-07-00',
  updated: '26-07-00',
  status: "new"
}, {
  id: 3,
  name: "rabbit",
  created: '16-02-10',
  updated: '26-04-10',
  status: "modified"
}];

con = (err, image) => {
  if (err) {
    console.log("ERROR", err);
    return;
  }
    console.table(image);
 
};
con("404 not found",img); //error 404 will print err
con(null, img); //no error so img

于 2017-04-27T06:37:57.547 回答