【发布时间】:2021-10-23 02:47:48
【问题描述】:
我有一个 url 列表,我需要获取所有这些,所以我使用了 fetch 然后 promise.all,但是,我不知道如何返回 promise 的结果。
let photos_info = [];
function get_photos(urls) {
var promises = urls.map((url) => fetch(url).then((y) => y.json()));
Promise.all(promises).then((results) => {
console.log("results:", results);
photos_info = [...results];
console.log("photos_info:", photos_info );
});
return photos_info ;
}
const list_of_photos = get_photos(urls);
console.log("result of the function", list_of_photos);
为什么 list_of_photos 返回一个空列表,但是在函数内打印 photos_info 时,它返回列表。
【问题讨论】:
-
你不能将 promise 转换为同步结果,你必须在某个时候等待它。
标签: typescript promise promise.all