Я расскажу вам немного о том, что я делаю, чтобы вы могли мне помочь. Я читаю некоторые записи из .txt, и для каждой записи мне нужно провести некоторые проверки, для этого я делаю вызов $ resource в свой бэкэнд-сервис, чтобы получить regex , который будет использоваться для проверки каждой записи.
Мне нужно дождаться ответа службы . У меня есть это (я использую $ recourse для получения с .factory):
function findRegex() {
var data;
var deferred = $q.defer();
data = findRegexCountry.get({ number: $scope.number }).$promise.then(function(data) {
deferred.resolve(data.body);
});
return deferred.promise;
}
и я могу успешно использовать ее в нужной мне функции:
//validar tipo 2
var bool = false;
if (tipo == 2) {
if (numbers.test(split[0]) && numbers.test(split[1])) {
$scope.number = '58';
findRegex().then(function(data) {
bool = true;
// console.log('data', data);
$scope.regexResponse = data;
regex_all = data.regex_all;
regex_length = data.regex_length;
regex_justCountry = data.regex_justCountry;
regex_justCarriers = data.regex_justCarriers;
console.log('1. regex_justCarriers ', regex_justCarriers);
console.log('1. regex_length ', regex_length);
});
//nothing here :( SOS
console.log('2. regex_justCarriers ', regex_justCarriers);
Это работает, но мне НУЖНО дождаться ответа, чтобы продолжить работу с моим кодом, позвольте мне сказать вам, почему (возможно, вы можете дать мне лучшую идею).
Я не могу сделать всю логику внутри findRegex () , прежде всего потому, что я не хочу делать этот вызов каждый раз Я читаю запись из .txt , Я хочу получить регулярное выражение из службы один раз, и если эта первая запись, которую я проверяю, является действительной для меня, остальные будут использовать переменные, которые я уже получил при первом вызове службы, есть и другие причины, но в основном это, я не могу сделать весь код, который мне нужен внутри этого.
Что я могу сделать?