Данные, поступающие из API, не обновляются, когда я перезагружаю / просматриваю веб-страницу - PullRequest
1 голос
/ 28 мая 2020

Я работаю в проекте angular, в котором есть компонент, в котором я показываю (метод «GET») данные, поступающие из API во внешнем интерфейсе.

this.conversationsService
  .get(
    environment.API_ENDPOINT +
      '/api/v1/conversation/history/?conversation_id=' +
      this.conversation_id,
  )
  .subscribe((res: any) => {
    console.log(res);}

это то, что мы получаем из приведенного выше запроса «GET»

{
        "id": 856,
        "conversation_id": 8,
        "is_completed": false,
        "created_at": "2020-05-27T23:12:09.699392Z",
        "completion_datetime": null,
        "time_taken_to_complete_in_seconds": null,
        "speed_run": false,
        "user_response": []
    }

Когда пользователь взаимодействует с этим компонентом, данные обновляются (метод «POST») в том же API. Это то, что показано в Postman, что «POST» успешно работает.

 {
        "id": 856,
        "conversation_id": 8,
        "is_completed": false,
        "created_at": "2020-05-27T23:12:09.699392Z",
        "completion_datetime": null,
        "time_taken_to_complete_in_seconds": null,
        "speed_run": false,
        "user_response": [
            {
                "created_at": "2020-05-27T23:15:46.287839Z",
                "dialog": {
                    "id": 44,
                    "message": "Hi new_arka_iitk, I’m Robin.",
                    "dialog_images": [],
                    "is_last": false
                },
                "option": {
                    "id": 42,
                    "message": "Hi Robin ?. Nice to meet you.",
                    "option_images": []
                }
            },
            {
                "created_at": "2020-05-27T23:15:48.487096Z",
                "dialog": {
                    "id": 45,
                    "message": "Uh-huh … ?",
                    "dialog_images": [],
                    "is_last": false
                },
                "option": {
                    "id": 43,
                    "message": "So…. how was your day Robin?",
                    "option_images": []
                }
            },
            {
                "created_at": "2020-05-27T23:15:52.760567Z",
                "dialog": {
                    "id": 46,
                    "message": "I’ve been better.",
                    "dialog_images": [],
                    "is_last": false
                },
                "option": {
                    "id": 44,
                    "message": "Oh…. what happened?",
                    "option_images": []
                }
            }

Однако, когда я выхожу с этой страницы и снова перехожу на ту же страницу или перезагружаю страницу, данные показанный не обновляется во внешнем интерфейсе, хотя данные обновляются во внутреннем интерфейсе. Данные, отображаемые в интерфейсе, такие же, как и при первом посещении компонента. После этого, если я выйду из этого компонента и снова перейду к тому же компоненту, данные не обновляются.

Я могу видеть обновление данных в бэкэнде с помощью почтальона (я прикрепил данные из почтальон выше). Единственное решение, которое я могу преодолеть, - это закрыть окно браузера (инкогнито) и снова открыть его, таким образом он сможет получить последние данные из серверной части.

В чем может быть проблема с таким же? Любые выводы будут оценены. Спасибо

1 Ответ

1 голос
/ 28 мая 2020

Вы пишете функцию this.conversationsService.get () в жизненном цикле ngoninIt ()? Если да, это может быть проблемой. Вы можете использовать активированные маршруты и вызывать на нем функцию get, чтобы она запускалась каждый раз, когда пользователь переходит на страницу.

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