【发布时间】:2021-02-12 01:30:16
【问题描述】:
我对 Typescript 很陌生,我不确定使用什么正确的语法。
我正在使用承诺从 jwt.verify - jsonwebtoken 返回解码后的内容。它按预期工作,并返回一个包含 user.id、iat 和到期时间的对象,但 resolve promise 上出现以下类型错误。
“'object'类型的参数不能分配给'IVerifiedUserType | PromiseLike | undefined'类型的参数。”
下面是我返回的接口和代码。我在承诺上使用异步等待。
export interface IVerifiedUserType {
id: number;
iat: number;
exp: number;
}
const verifyToken = (token: string, config: IConfigType): Promise<IVerifiedUserType> =>
new Promise((resolve, reject) => {
if (config.secrets.jwt) {
jwt.verify(token, config.secrets.jwt, (err, decoded) => {
if (err) {
return reject(err);
}
if (typeof decoded === "object") {
resolve(decoded);
}
});
}
});
const verifiedToken = await authService.verifyToken(token, config);
我使用“jsonwebtoken”:“^8.5.1”和“@types/jsonwebtoken”:“^8.3.3”,用于类型。
【问题讨论】:
标签: typescript promise async-await jwt