小编Jan*_*emb的帖子

从HttpInterceptor中的catchError返回可观察到的捕获错误会导致错误循环

我有一个简单的拦截器,可以处理请求并使用RXJS catchError捕获任何http错误。在catchError中收到的第二个参数是捕获的可观察值。在某些情况下,我想返回此错误,并使其传播到订阅函数中的错误处理程序。问题是返回捕获的错误会导致无限循环(如示例中所示:https : //stackblitz.com/edit/angular-u4gakr

接收HTTP错误(例如404)时,catchError陷入循环的拦截器中的拦截函数:

return next.handle(request)
  .pipe(
    catchError((error, caught$) => {
      console.log('Returning caught observable'); 
      return caught$;
    })
  );
Run Code Online (Sandbox Code Playgroud)

我可能误解了有关拦截器或RxJS catchError的某些信息。有什么建议吗?

rxjs angular rxjs6

5
推荐指数
1
解决办法
3128
查看次数

Firestore 在线规则模拟器因自定义声明而失败

使用带有自定义声明的 firestore 在线安全模拟会导致错误,但它在部署时可以完美运行(同时实际处理真实请求)。错误是:

错误:simulator.rules 行 [5],列 [23]。属性 admin 在对象上未定义。

我已经确认用户实际上拥有声明(通过管理 SDK 并使用我添加规则的应用程序)。

    match /{document=**} {
      allow write: if request.auth.token.admin;
        allow read;
    }
Run Code Online (Sandbox Code Playgroud)

代码

这是预期的吗?模拟器坏了还是我遗漏了什么?无法使用模拟器会很困难,因为我希望在我的应用程序中使用一些自定义声明。

firebase-security firebase-console google-cloud-firestore

4
推荐指数
1
解决办法
720
查看次数

C++返回指针值不可更改

我遇到了一个奇怪的问题.当我尝试编写一个返回指向子类的指针的函数时,我交换了该子类的不同实例,我得到"错误C2106:'=':左操作数必须是l值"错误.

问题在于one->getMe() = two;:

class subClass{};

class someClass{

public:

subClass * pointer;

someClass(){
    pointer = new subClass;
}

subClass * getMe(){
    return pointer;
}

};

int main(){

someClass * one = new someClass;
subClass * two = new subClass;

one->getMe() = two; 
}
Run Code Online (Sandbox Code Playgroud)

我对c ++有点新意,所以问题可能很简单.任何帮助深表感谢.

c++

0
推荐指数
1
解决办法
181
查看次数