猜猜轮到我在stackoverflow创建用户了:)
我已经尝试并解决了这个任务2天了,我可以让它显示前两个信息,但我不知道我如何访问最后两个... 另外,我有一个小小的想法,我完全错了......
这就是我必须做的事情:
现在,实现一个方法getPlanetforFirstSpeciesInFirstMovieForPerson(id){}
,id = 1 (Luke Skywalker)
应该记录此信息:
姓名:Luke Skywalker
第一部电影:帝国反击战
第一种:尤达氏种
家园世界:未知
提示:
films[0]
实际上会给你第二部电影,见下文:数据:
"films": [
"https://swapi.co/api/films/2/",
"https://swapi.co/api/films/6/",
"https://swapi.co/api/films/3/",
"https://swapi.co/api/films/1/",
"https://swapi.co/api/films/7/"
],
这是我到目前为止所做的:
const fetch = require('node-fetch')
const URL = "https://swapi.co/api/people/";
async function getPlanetForFirstSpeciesInFirstMovieForPersonID(id) {
const result = await fetch(URL);
const data = await result.json().then((nameData) => nameData.results[id]);
const name = data.name
const film = await fetch(data.films[id])
const filmdata = await film.json().then((movietitle) => movietitle.title)
console.log(name)
console.log(filmdata)
}
getPlanetForFirstSpeciesInFirstMovieForPersonID(0).catch((e) => {
console.log('There was an error :', e)
});
但我想必须有更清洁,更聪明的方法来做到这一点。 我可以毫无问题地使用旧方式使用promise,但我必须使用async / await。