Я совершенно новичок в JS и с трудом пытаюсь понять асинхронные вызовы. Нужно ли мне вложить еще один объект обещания, чтобы установить URL-адреса плакатов? я действительно в замешательстве
async function getIds() {
const result = await session.run("MATCH (m :Movie) RETURN m.imdbId LIMIT 5");
const ids = [];
result.records.forEach(record => ids.push(record._fields[0]));
return ids;
}
async function imdbIds() {
const ids = await getIds();
console.log(ids);
const response = await Promise.all(ids.map(async id => {
// webscrapper that returns poster url of each imdbid
const url = toString(scrapper(id));
console.log(url);
// query to set poster of each id in neo4j db
const result = await session.run("MATCH (m :Movie {imdbId : $id}) SET m.poster = $url RETURN m.poster", { id, url });
result.records.forEach(record => console.log(record._fields[0]));
return result;
}));
console.log(response);
}
imdbIds();
консольные журналы все равно не повезло