对于以下打字稿中间件,我收到标题中提到的错误:(目标:es6,模块 commonjs)
try {
const response = await fetch(URL);
if (response.status !== 200) {
throw 'request not successful'
}
const data = await response.json();
const { keys } = data;
for (let i = 0; i < keys.length; i++) {
const key_id = keys[i].kid;
const modulus = keys[i].n;
const exponent = keys[i].e;
const key_type = keys[i].kty;
const jwk = { kty: key_type, n: modulus, e: exponent };
const pem = jwkToPem(jwk);
pems[key_id] = pem;
}
console.log("got PEMS")
} catch (error) {
console.log(error)
console.log('Error! Unable to download JWKs');
}
}
我在哪里定义了这个全局 let pems: { [key: string]: string } = {},不确定我的问题到底在哪里,任何帮助将不胜感激
按照确切的教程进行操作,但仍然停留在这一错误消息上,可能该教程已过时,我不太确定
fetch
返回 解析为 Promise
的 Response
。 Response.json
返回 解析为 JSON
的承诺,其中不包含 keys
属性 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ JSON)。
const { keys } = data;
这是一个 解构赋值,它尝试从
keys
中解压 data
属性。此时 data
是一个 JSON
对象,并且不包含 keys
属性。