Javascript 使用Promise.all对多个URL调用fetch()

Javascript 使用Promise.all对多个URL调用fetch(),javascript,reactjs,es6-promise,Javascript,Reactjs,Es6 Promise,我正在尝试获取多个URL上的JSON数据。URL是一个固定的字符串,其末尾连接有唯一的键。这些键作为数组提供,我正在使用map()对其进行迭代。结果数据被传递到Promise.all(),但返回undefined。我一辈子都搞不懂为什么 export const fetchApiEvents = async eventIds => { try { const events = await Promise.all(eventIds.map(id => {

我正在尝试获取多个URL上的JSON数据。URL是一个固定的字符串,其末尾连接有唯一的键。这些键作为数组提供,我正在使用map()对其进行迭代。结果数据被传递到Promise.all(),但返回undefined。我一辈子都搞不懂为什么

export const fetchApiEvents = async eventIds => {
    try {
        const events = await Promise.all(eventIds.map(id => {
            fetch('http://api_url/events/' + id)
                .then(res => res.json())
        }))
        return events
    } catch (e) {
        console.log('An error occured fetching the events: ', e)
    }
}
然后我调用这个函数作为一种效果:

    useEffect(() => {
        fetchApiEvents(eventIds)
            .then(response => setEvents(response))
    }, [eventIds])

我做的事情真的很愚蠢吗?

第4行中缺少return

export const fetchApiEvents = async eventIds => {
    try {
        const events = await Promise.all(eventIds.map(id => {
            return fetch('http://api_url/events/' + id)
                .then(res => res.json())
        }))
        return events
    } catch (e) {
        console.log('An error occured fetching the events: ', e)
    }
}

您的控制台日志记录是否显示了任何信息?