【问题标题】: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) => {

标签: javascript node.js mongoose promise


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    相关资源
    最近更新 更多