我知道这将无法按照我编写的方式进行,并且我也看不到任何能为我解决问题的答案。该代码太长,无法在此处放置,但我已经包含了要点的链接
https://gist.github.com/dhawkinson/41211d067ea91e0b7a5823067d2e39fe
我的问题是这样
我得到json文件的ID列表,这些ID必须被读取并转换为Multiple SQL表中的行。该列表以ID数组的形式来自另一个json文件到我需要读取和转换的文件。
根据要求,SQL表中不能包含带有冗余数据的行。 SQL的ID是自动生成的。 API中有3类实体:
学习者和课程都可能在结果中出现多次,但在特定日期只能出现一次。但是,“学习者”和“课程”都只能分别在“学习者”和“课程”表中出现一次(没有冗余)。
我的源数据是4个json结果,与列表中的4个ID相匹配。高级视图如下(格式:Course_TimeStamp.json)
当我解析并写入数据时,我得到:
鉴于我的限制,我该如何解决此问题?我怀疑在一些晦涩的情况下,冗余问题可能会出现在“学习者”表中,尽管目前还没有。我对所有表都使用相同的方法。
我们非常感谢您的帮助。抱歉,冗长。
答案 0 :(得分:1)
您不能对forEach使用异步/等待
原因::因为我们无法在同步函数中使用await。如您所见,“ processArray”是异步函数。但是匿名 我们用于forEach的功能是同步的。 DO READ
questions.forEach((question) => {
processCourseDetails(jsonData, question);
});
您可以使用简单的for循环,例如
for(question of questions) {
await processCourseDetails(jsonData, question);
}
您可以创建一个自定义函数,使其与forEach一起使用async / await , DO READ