定义'req'参数在哪里?

时间:2017-10-09 08:27:24

标签: javascript angular typescript

我正在尝试实施here所述的身份验证方案。

我很难找到下面代码中定义req参数的位置。我的代码无法编译,因为它当前未定义。这可能是他的代码中的拼写错误。我查看了评论,但似乎没有人指出:

// src/app/auth/jwt.interceptor.ts
// ...
import 'rxjs/add/operator/do';
export class JwtInterceptor implements HttpInterceptor {
  constructor(public auth: AuthService) {}
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    return next.handle(req).do((event: HttpEvent<any>) => {
      if (event instanceof HttpResponse) {
        // do stuff with response if you want
      }
    }, (err: any) => {
      if (err instanceof HttpErrorResponse) {
        if (err.status === 401) {
          // redirect to the login route
          // or show a modal
        }
      }
    });
  }
}"

有人可以指出我缺少的东西吗?

非常感谢提前。

2 个答案:

答案 0 :(得分:2)

看起来像是一个错字。拦截函数提供了一个参数request - 它可能应该引用参数而不是req

答案 1 :(得分:1)

参数必须为request,如下所示

return next.handle(request)
        .do(event => {
            if ()