Привет, я пытаюсь использовать метод обещания, чтобы дождаться выполнения вызовов внутри цикла for.However, я не могу удержаться.Подождите, пока вызовет угловой заводский ресурс для завершения внутри цикла
"возвращение mainArr" дает неопределенными
// экспорт CSV
Loop
//Assumes data is a json object list.
function getCustomData(data){
var mainArr=[];
for (var i = 0; i < data.length; i++) {
var obj={};
obj.word = $('#type-ahead-input').val();
obj.synonym = data[i].word;
obj.similarityCount = (data[i].similarityCount).toFixed(2);
obj.emailCount = data[i].occuranceCount;
obj.synonymlist = getSynonymList(data[i].word);
mainArr.push(obj);
}
return mainArr;
}
function getSynonymList(inputWord){
return WordService.getSynonymList({
ids : inputWord
}).$promise
.then(function($response) {
var output = $response;
var wordList =[];
for (var i = 0; i < output.length; i++) {
wordList.push(output[i].word);
}
return wordList;
});
}
ресурса фабрики Зов Подпись
getSynonymList : {
method : 'GET',
isArray: true,
async : false,
url : appRoot + '/synonym',
params : {
word : '@word'
}
},
Возвращаемое значение 'getCustomData' не может быть неопределенным. –
** return ** from onFulfilled callback в методе '$ prom.then' приводит к обещанию' $ q' **, а не данным **. Используя то же имя, 'getSynonymList', для службы, которая возвращает объект $ resource, и функция, которая возвращает обещание, делает ваш код запутанным и трудным для понимания. – georgeawg