1
我有一個快速API的路由,請求藝術家的詳細信息,此響應包含該藝術家的一系列發佈。嵌套承諾不推向陣列
目前我想映射到該數組,提取一個URL,然後對該URL進行API調用。我回來的迴應,我想我需要推入一個數組,因此該數組最終可以作爲我的迴應返回。 (這是前端的後端)
但是,當我控制檯登錄我的數組時,它是空的。
我在npm上使用了request-promise庫。
這是正確的嗎?我想我需要以某種方式確保所有的承諾在我執行之前解決,但是我不確定如何?
route.get('/search', (req, res) => {
const artist = req.query.artist || '';
let releases = [];
rp.get(`https://api.discogs.com/database/search?artist=${artist}&type=release&format=Vinyl&per_page=5&page=1`)
.then(({results}) => results.map(({resource_url}) => resource_url))
.then((resource_urls) => resource_urls.map((resource_url) => rp.get(resource_url).then((release) => releases.push(release))))
.then(() => console.log(releases))
.catch((err) => console.log(err))
});
謝謝你,這麼多,謝謝大家。 – pgGriff