Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导入jsonwebtoken引发的TokenExpiredError';让我们核实一下?_Javascript_Typescript_Jwt - Fatal编程技术网

Javascript 如何导入jsonwebtoken引发的TokenExpiredError';让我们核实一下?

Javascript 如何导入jsonwebtoken引发的TokenExpiredError';让我们核实一下?,javascript,typescript,jwt,Javascript,Typescript,Jwt,我想检查错误的类型是否为jwt抛出的TokenExpiredError。使用Typescript的instanceof验证jsonwebtoken库的函数,例如 import jwt from "jsonwebtoken"; function someFunction() { try { return jwt.verify(token, key); }catch(err) { if(err instanceof TokenExpiredError

我想检查
错误的类型是否为
jwt抛出的
TokenExpiredError
。使用Typescript的
instanceof
验证
jsonwebtoken
库的
函数,例如

import jwt from "jsonwebtoken";

function someFunction() {
    try {
        return jwt.verify(token, key);
    }catch(err) {
        if(err instanceof TokenExpiredError) {
            return attemptRenewal()
        }
        throw err
    }
}
如何导入符号
TokenExpiredError

我找不到关于这个重要类的任何文档,也找不到我脑海中唯一的直觉

import { jwt, TokenExpiredError } from "jsonwebtoken";
导致
jwt
未定义

我知道一些变通方法,比如用类名执行字符串比较,但我希望生成干净的代码


我使用的是
jsonwebtoken
8.5.1。

我也有同样的查询,但经过快速搜索和测试,下面的内容应该可以使用

import * as jwt from "jsonwebtoken";

function someFunction() {
    try {
        return jwt.verify(token, key);
    }catch(err) {
        if(err instanceof jwt.TokenExpiredError) {
            return attemptRenewal()
        }
        throw err
    }
}

TokenExpiredError
已作为jwt的一部分导入。

jsonwebtoken
导出默认对象,如:

这意味着,当您使用
从“jsonwebtoken”导入jwt时语法,
jwt
将指向一个具有所有默认导出属性的对象

您不能从“jsonwebtoken”使用
import{jwt,TokenExpiredError},因为在默认导出对象中,我们没有
jwt
属性

如果要导入
TokenExpiredError
和默认对象,可以遵循如下语法:
import jwt,{TokenExpiredError}from“jsonwebtoken”
,那么
jwt
仍然是默认的导出对象,并且您有
TokenExpiredError
对象(
jwt.TokenExpiredError
TokenExpiredError
是相同的)

如果您只想使用
verify
函数和
TokenExpiredError
,那么导入行将转到:
import{TokenExpiredError,verify}from“jsonwebtoken”,则您的函数如下所示:

import {TokenExpiredError, verify} from "jsonwebtoken";

function someFunction() {
  try {
    return verify(token, key);
  } catch (err) {
    if (err instanceof TokenExpiredError) {
      return attemptRenewal()
    }
    throw err
  }
}
import {TokenExpiredError, verify} from "jsonwebtoken";

function someFunction() {
  try {
    return verify(token, key);
  } catch (err) {
    if (err instanceof TokenExpiredError) {
      return attemptRenewal()
    }
    throw err
  }
}