Сделать код синхронным

345
09 августа 2017, 22:19

Помогите сделать код синхронным... это функция происходит при клике когда пользователь добавляет новую статью, сначала делаю POST потом GET чтобы без перезагрузки страниц поменялись данные, прочитал про синхронный код про promise немного изучил много попробовал и не получился, помогите решить проблему с $q.

     $scope.addNew = function(){
       $http({
            method: "post",
            url: "includes/insert_data.php",
            data: {
                'title': $scope.notes.title,
                'text': $scope.notes.text,
            },
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        })
        $http.get('includes/get_data.php')
        .then(function(response){
            $scope.notes = response.data.records;
        }); 
      }
Answer 1

Не надо делать этот код синхронным. Надо просто выполнять второй запрос после первого:

$scope.addNew = function () {
  $http({
    method: "post",
    url: "includes/insert_data.php",
    data: { title: $scope.notes.title, text: $scope.notes.text },
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
  }).then(function () {
    $http.get('includes/get_data.php').then(function (response) {
      $scope.notes = response.data.records;
    });
  });
};

Также можно использовать chain'инг промисов:

$scope.addNew = function () {
  $http({
    method: "post",
    url: "includes/insert_data.php",
    data: { title: $scope.notes.title, text: $scope.notes.text },
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
  }).then(function () {
    return $http.get('includes/get_data.php');
  }).then(function (response) {
    $scope.notes = response.data.records;
  });
};
READ ALSO
You may need an appropriate loader to handle this file type

You may need an appropriate loader to handle this file type

Вылетает ошибка в webpack при попытке срендерить этот код:

662
Как взять высоту одного блока и присвоить её другому? jQuery

Как взять высоту одного блока и присвоить её другому? jQuery

Собственно нужно брать высоту одного блока и при загрузке документа присваивать его другомуКак это можно реализовать ?

519
Проблема с cdn от yandex

Проблема с cdn от yandex

Есть сайтНа нём до меня подключали скрипты от cdn yandex'a

314
Как запустить webpack через npm скрипты?

Как запустить webpack через npm скрипты?

У меня в проекте, есть несколько сайтов с кардинально разными webpack конфигамиЯ хочу запускать сборку через npm start -имяСайта (т

369