当我试图使用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' });
});
答案 0 :(得分: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