gpt4 book ai didi

javascript - 使用 await 时出现意外的标识符

转载 作者:IT老高 更新时间:2023-10-28 23:02:02 24 4
gpt4 key购买 nike

我目前正在尝试将 async/await 用于需要循环同步的函数。

这是函数:

async channelList(resolve, reject) {
let query = ['channellist'].join(' ');

this.query.exec(query)
.then(response => {
let channelsRaw = response[0].split('|');
let channels = [];

channelsRaw.forEach(data => {
let dataParsed = ResponseParser.parseLine(data);

let method = new ChannelInfoMethod(this.query);
let channel = await method.run(dataParsed.cid);

channels.push(channel);
});

resolve(channels);
})
.catch(error => reject(error));
}

当我尝试运行它时,我得到了这个错误:

let channel = await method.run(dataParsed.cid);
^^^^^^
SyntaxError: Unexpected identifier

可能是什么原因造成的?
谢谢!

最佳答案

您的 async 是在 channelList 上定义的,而不是在包含 await 的箭头函数上。将 async 移动到该箭头函数:

channelsRaw.forEach(async (data) => {
let dataParsed = ResponseParser.parseLine(data);

let method = new ChannelInfoMethod(this.query);
let channel = await method.run(dataParsed.cid);

channels.push(channel);
});

此外,由于您无论如何都在使用 async,因此您可以只异步您那里的整个 Promise 链。

关于javascript - 使用 await 时出现意外的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43288577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com