Угловой, как к возвращаемому значению от http.post успеха?

у меня есть код в моем угловом диспетчере

$scope.message = '';
$http.post('/save/').success(function(data) {                  
    $scope.message = "success";
});
console.log($scope.message);
//get empty string?

почему после того, как я буду бежать, я получаю пустую строку на $scope.message? как http.post, когда возвращаемое значение успеха, потому что я хочу снова использовать стоимость для своей другой функции. спасибо так или иначе.

2
nl ja de

3 ответы

То, что вы ищете, является этим:

$scope.$watch("message", function(value){
  console.log($scope.message);
}); 

Вот образец plnkr пример Я сделал

4
добавлено
В чем проблема? console.log (после) называют, прежде чем запрос http возвратился... that' s, почему необходимо обернуть его или сделать это в отзыве...
добавлено автор Shai Reznik - HiRez.io, источник
у меня есть образец закачки jsfiddle.net/Gb2pt/7 я должен изменить стоимость после http.post, посмотреть на мой пульт после щелчка, спасибо: D
добавлено автор Reddy Sijaya, источник
хорошо я получаю его теперь, спасибо
добавлено автор Reddy Sijaya, источник

Что относительно того, чтобы делать -

$scope.message = '';
$http.post('/save/').success(function(data) {                  
    $scope.message = "success";
    console.log($scope.message);
});

?

или я пропускаю что-то еще?

1
добавлено
В этом случае посмотрите на мой другой ответ:)
добавлено автор Shai Reznik - HiRez.io, источник
нет, я хочу получить $scope.message вне http.post, не так ли?
добавлено автор Reddy Sijaya, источник

почему после того, как я буду бежать, я получаю пустую строку на $scope.message?

Отзыв успеха для $http назван асинхронно, когда ответ доступен. Это объясняет, почему console.log() может бежать перед отзывом. Если для другой функции нужна стоимость, @ShaiRez уже предоставил два решения:

  1. call the other function inside the success callback
  2. $watch the value, and call the other function inside the $watch listener callback
0
добавлено
Angular — русскоговорящее сообщество
Angular — русскоговорящее сообщество
3 960 участник(ов)

Общаемся на темы Angular 4+, его экосистемы, TypeScript, NativeScript и т.д. По вопросам SSR, Angular Universal @angular_universal_ru См. также: @typescript_ru, @react_js, @nodejs_ru, @js_ru Вакансии и поиск работы: @javascript_jobs

Angular.js (1.x) — русскоговорящее сообщество
Angular.js (1.x) — русскоговорящее сообщество
704 участник(ов)

Общаемся и обсуждаем темы, посвященные Angular 1.x и экосистеме.

AngularJS, Javascript
AngularJS, Javascript
370 участник(ов)

Angularjs russian chat