新异步函数中的异步函数[重复]

Posted

技术标签:

【中文标题】新异步函数中的异步函数[重复]【英文标题】:async function inside new async function [duplicate] 【发布时间】:2021-11-07 03:03:03 【问题描述】:

我需要使用 mongoose 从 Mongo db 获取数据,然后使用 node-fetch 发送一些请求。 所以我在下面创建了异步函数

async function mainThree() 

    await ProvinceList.find().then((data) => 

        data.forEach((provience) => 
            console.log(provience.id)
            let response = await fetch(`https://xxxx.com/api/getSubAddressList?addressId=$provience.id`, 
                "headers": 
                    "accept": "application/json, text/plain, */*",
                    "accept-language": "en-US,en;q=0.9,si;q=0.8",
                    "cache-control": "no-cache",

                ,
                "referrer": "https://www.xxxx.com/",
                "referrerPolicy": "strict-origin-when-cross-origin",
                "body": null,
                "method": "GET",
                "mode": "cors"
            );

            let datalist = await response.json();


            CityList.insertMany(datalist.module);

        );


    );




但是当我运行代码时,我得到了

**SyntaxError: await is only valid in async function**

我需要知道如何在异步函数中运行异步函数

【问题讨论】:

报错告诉你这里加asyncdata.forEach(async (provience) => 【参考方案1】:

在这种情况下,您在传递给forEach 的函数内部使用await。您需要使该函数异步。

data.forEach(async (province) => ...

【讨论】:

以上是关于新异步函数中的异步函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

有没有修复异步函数的方法[重复]

从python中的异步函数修改全局变量[重复]

异步 async/await 函数中的正确错误处理 [重复]

React Native useEffect 在异步函数中的用法[重复]

Promise.all()函数中的JS“等待仅在异步函数中有效”[重复]

python中for循环中的异步作业[重复]