1
嗨那里我一直在尝试使用承诺技术来等待for循环内的调用的执行。但是我无法坚持。等待角工厂资源调用完成循环内
“回归mainArr” 给出了不确定
//导出CSV
环
//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的返回值不能是未定义的。 –
'$ promise.then'方法中的onFulfilled回调的** return **导致'$ q'承诺,** not data **。对于返回'$ resource'对象的服务使用相同的名称'getSynonymList',并且返回承诺的函数会使您的代码混淆并难以理解。 – georgeawg