Приложение перестает работать после нескольких вызовов API для исправления - PullRequest
0 голосов
/ 23 апреля 2020

Мое приложение имеет 2 экрана. Экран с 1 дилером, экран с 2 игроками. Экран дилера управляет игрой. Игроки могут претендовать на победу, нажав кнопку. Запись создается в БД при нажатии кнопки выигрыша заявки. Экран дилера постоянно вызывает API, который получает все выигрышные заявки и отображает на экране. Дилер может принять / отклонить претензию, нажав кнопку. Нажатие кнопки «принять / отклонить» в основном обновляет статус записи в БД. Это работает для первых 5-6 обновлений, а затем все зависает, и мое приложение перестает работать.

Что здесь не так? Есть ли какие-либо ресурсы, которые мне нужно выпускать после каждого обновления?

//accept/reject win claim API
router.patch('/winupdate/:ID', async(req, res, next)=>{

    try {
        const win = await Win.findOne({_id: req.params.ID})

        win.status = req.body.status

        await win.save()

    }catch {
        console.log("error while winupdate");
    }

});

//win accept/reject service
updWinClaim(claimResult, _id): Observable<any> {

  console.log("updWinClaim called for"+_id);

  return this.http.patch('api/winupdate/'+_id,claimResult);
}


    //retrieve all win claims
      getWinClaimss(p1) {

        console.log ("getWinClaimss-1 called");
        const source = timer(1,1000);

        const subscribe = source.subscribe(
          x => {this.winService.getWinClaimsByGame(p1)
                  .subscribe(
                    (data) => {this.winClaims = data;

                    console.log ("getWinClaimss-2 called");

            return this.winClaims;
          });
        });

  }

//code that calls update service
  winClaimRseult(_id,result){

    //console.log ("winClaimResult called with result= "+result);

    let newStatus = {
      id: _id,
      status: result
    };

    this.winService.updWinClaim(newStatus,_id)
      .subscribe(
        error => alert(error)
      );

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...