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

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) => ...

【讨论】:

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