我不确定我是否正确行事,但我有一个父函数returnPersonId()
使用$http
获取对象并返回该对象&# #39; s id
。
function returnPersonId(n) {
var q = 'http://api.themoviedb.org/3/search/person?api_key=' + apiKey + '&query=' + n;
$http({ method: 'GET', url: q })
.success(function (data, status, headers, config) {
if (status == 200) {
var person = data.results[0];
var id = person.id;
return id;
}
})
.error(function (data, status, headers, config) {
console.log('Error happened whilst getting the actor or actress.');
})
}
目前它正在成功方法中返回id
。我不确定如何将id
返回到其父函数,所以如果我运行该函数,我就会返回id,如下所示:
returnPersonId('tom+hanks'); // returns 31
我将如何做到这一点?
感谢任何帮助。
提前致谢!
答案 0 :(得分:1)
由于回调函数不会从中返回数据,因此您需要将代码样式切换为使用promise模式,以便在成功或失败时轻松返回数据。
function returnPersonId(n) {
var q = 'http://api.themoviedb.org/3/search/person?api_key=' + apiKey + '&query=' + n;
return $http({ method: 'GET', url: q })
.then(function (resp) {
var data = res.data
if (res.status == 200) {
var person = data.results[0];
var id = person.id;
return id;
}
},function (error) {
console.log('Error happened whilst getting the actor or actress.');
return 'Error occured'
})
}