как вызвать функцию angular синхронно, чтобы вернуть результат функции вне angular

0

как вызвать угловую функцию синхронно, чтобы вернуть результат функции за пределы углового: From Outside Angular: Я пытаюсь вызвать функцию контроллера в Angular для сохранения данных -using $http-, а затем из-за пределов угловой области мне нужно использовать сохранение результат для следующего шага. вот код: от внешнего углового:

result= angular.element(divcurrency).scope().$apply('saveAll()');
if (result =="valid") 
{
....
}

и функция контроллера "saveAll":

this.saveAll= function ()
    {
        var task = $q.defer();

            $http.post(RESTUrl, $scope.dataToSave).then(function (response) {

                task.resolve(response.data);
                 return  response.data;
            }, function (response) {
                console.log(response.data);
                task.reject(response.data);
                return response.error;
            });
        })
        return task.promise;
    }

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

Теги:
asynchronous
synchronized

1 ответ

0

Вы не можете этого сделать.

Вместо этого вы должны вернуться и использовать обещание напрямую.

Термин "вне углового" не имеет смысла; вы можете использовать объекты из любого места, где хотите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню