我想用Object.key(getJsonCode).length
和get-json library
来获取json的长度,但是我出错了。我该如何解决?
当我使用gt-json库但对我不起作用时,我已经尝试使用异步并承诺
const json = getJson(url).then((result) => {
Object.keys(result).length
}).catch((err) => {
throw err
});
我希望输出json长度,但实际输出是
Promise { <pending> }
答案 0 :(得分:0)
这种方法将实现您想要的,我们使用async / await模式:
async function logKeys() {
let json = await getJson(url);
let keyCount = Object.keys(json).length;
console.log("Key count: ", keyCount);
}
logKeys();
示例中的问题是您正在为json变量分配一个Promise。但是,此承诺的结果将是不确定的,因为第一个承诺处理程序没有返回值。
这就是您执行console.log(json)时打印的内容。
您也可以尝试:
const jsonPromise = getJson(url).then((result) => {
return Object.keys(result).length;
}).catch((err) => {
throw err
});
jsonPromise.then(result => console.log("Key count: ", result));