Я пытаюсь удалить сообщение из списка. Функция удаления выполняет, последовательно передавая функцию удаления, показанную ниже.
$scope.go = function(ref) { $http.get("api/phone_recev.php?id="+ref) .success(function (data) { }); }
После выполнения функции мне нужно перезагрузить запрос http.get, который используется для перечисления списка.
$http.get("api/phone_accept.php") .then(function (response) { });
После выполнения функции. Весь список будет перезагружен новым обновленным списком. Есть ли способ сделать это.
Попробуй это
$scope.go = function(ref) { $http.get("api/phone_recev.php?id="+ref) .success(function (data) { //on success of first function it will call $http.get("api/phone_accept.php") .then(function (response) { }); }); }
function list_data() { $http.get("api/phone_accept.php") .then(function (response) { console.log('listing'); }); } $scope.go = function(ref) { $http.get("api/phone_recev.php?id="+ref) .success(function (data) { // call function to do listing list_data(); }); }
Возвратите обещание от предыдущей функции, и как только она будет разрешена, вызовите другую функцию.
Как то, что @sudheesh Singanamalla говорит, вызывая тот же самый запрос http.get снова внутри функции, разрешил мою проблему.
$scope.go = function(ref) { $http.get("api/phone_recev.php?id="+ref).success(function (data) { //same function goes here will solve the problem. });} });
Вы можете использовать службу $ q – A, которая поможет вам выполнять функции асинхронно и использовать их возвращаемые значения (или исключения), когда они будут обработаны.
https://docs.angularjs.org/api/ng/service/ $ q
Внутри какой-то службы.
app.factory('SomeService', function ($http, $q) { return { getData : function() { // the $http API is based on the deferred/promise APIs exposed by the $q service // so it returns a promise for us by default return $http.get("api/phone_recev.php?id="+ref) .then(function(response) { if (typeof response.data === 'object') { return response.data; } else { // invalid response return $q.reject(response.data); } }, function(response) { // something went wrong return $q.reject(response.data); }); } }; });
функция где-то в контроллере
var makePromiseWithData = function() { // This service's function returns a promise, but we'll deal with that shortly SomeService.getData() // then() called when gets back .then(function(data) { // promise fulfilled // something }, function(error) { // promise rejected, could log the error with: console.log('error', error); //some code }); };