Я создаю модуль чата, используя angularjs.
Я построил алгоритм, который создает новый чат, вот что он делает:
- нажмите на кнопку нового чата
- показать список доступных людей для чата
- выберите одного человека (щелкните), затем вызовите функцию createChat
- создать чат создает новый объект чата локально (в коде js) и переводит вас на страницу чата
- когда вы отправляете новое сообщение, если chat_id = 0, он создает новый чат в базе данных с почтовым запросом $http, и в случае успеха я устанавливаю chat_id на любой чат_id, возвращенный из HTTP-запроса на публикацию.
моя проблема в том, что в angular запросы являются асинхронными, поэтому установка chat_id внутри функции успеха не обновляет ее за пределами функции успеха, а затем, когда я отправляю следующее сообщение, chat_id по-прежнему равен 0..
Я пытался читать об angularjs $q, но не мог понять, как это помогает.