您不需要使用$q
$ http方法创建自己的promise,默认情况下会返回一个promise,您可以通过调用.then
它来使用它.
function getLangData(langCode) { var url = "https://translate.google.com/translate_a/l?cb=JSON_CALLBACK"; //returned promise object from method return $http.jsonp(url, { params: {...} }) .then(function (response) { var translateAPIData = response.data; return translateAPIData.map(function(){...}); }); }
码
您可以通过.then
对该方法执行来调用promise 方法.
function init() { var promise = getLangData(languageCode); promise.then(function(mappedData) { matchData(mappedData); countData(mappedData); }); };