Javascript从函数返回数组

氧化还原球

我想知道为什么我从函数返回它的值后无法获取数组?控制台上的输出是一个空数组。

function fetchdates(){
        let theDateTime,DatesSepTime,Dates = [];

        fetch("./myfile.json")
        .then((resp) => {
            return resp.json();
            })
        .then((data) => {
            for(let obj of data){
                let theDateTime = obj.tweetcreatedts;
                let DatesSepTime = theDateTime.split(" ");
                let Dates = DatesSepTime[0];
                //console.log(Dates);
                }
            })
        
        return(Dates);
        };
    console.log(fetchdates());
文德尔塞尔克

获取是异步的。

这意味着,它会立即返回,并在异步操作完成时恢复函数执行。因此,如果您直接登录返回值,当然它不会包含处理过的值。

除此之外,您还有另一个问题是Dates两次声明变量(顺便说一句,您对其他人也这样做,这是不必要的)-首先它是一个空数组(这就是它立即返回的原因,这就是您得到空数组的原因)结果),然后您为其分配不同的值,但这仅在异步方法执行恢复时发生。

我建议阅读:https : //developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章