Javascript 代码未按顺序执行

Javascript 代码未按顺序执行,javascript,node.js,Javascript,Node.js,我在这里遇到了一些麻烦(我是新来的),还没有找到合适的答案 问题是,我希望它首先执行所有的fetch函数并创建数组,然后是insertIntoDb函数,但是通过控制台日志记录,我发现insertIntoDb是第一个执行的对象,因此当spanishURls数组到达该点时是emty,我得到了一个mysql错误 有什么想法吗 提前谢谢 函数getAndInsertData(回调){ //创建查询 var sql=“从tableName中选择*”; //询问 查询(sql,函数(err,resultD

我在这里遇到了一些麻烦(我是新来的),还没有找到合适的答案

问题是,我希望它首先执行所有的fetch函数并创建数组,然后是insertIntoDb函数,但是通过控制台日志记录,我发现insertIntoDb是第一个执行的对象,因此当spanishURls数组到达该点时是emty,我得到了一个mysql错误

有什么想法吗

提前谢谢

函数getAndInsertData(回调){ //创建查询 var sql=“从tableName中选择*”; //询问 查询(sql,函数(err,resultData){ 如果(错误)抛出错误; //对每个数据执行一个操作 resultData.forEach(函数(数据、索引){ //这是由npm库完成的,没有什么特别的 sitemapper.fetch(sitemap.url)。然后(函数(站点){ //获取URL列表 var url=sites.sites; //以西班牙语筛选所有URL spanishUrls=getSpanishUrls(URL、站点、站点地图) //打印URL列表,该列表工作正常,格式正确 console.log(SpanishURL) }) }) }); //将数据插入数据库 插入数据库(spanishUrls) } 函数insertIntoDb(查询、值){ connection.query(“插入url(url,站点地图)值?”,[VALUES],函数(err,result){ 如果(错误)抛出错误; log(“将URL添加到db”); }); }使用Promise.all()为每个结果数据运行.then()

函数getAndInsertData(回调){ //创建查询 var sql=“从tableName中选择*”; //询问 查询(sql,函数(err,resultData){ 如果(错误)抛出错误; //对每个数据执行一个操作 Promise.all(resultData.map)(函数(数据、索引){ 返回sitemapper.fetch(sitemap.url)。然后返回函数(sites){ //获取URL列表 var url=sites.sites; //以西班牙语筛选所有URL spanishUrls=getSpanishUrls(URL、站点、站点地图) //打印工作正常且格式正确的URL列表 console.log(SpanishURL) }) })) .然后(函数(){ //将数据插入数据库 插入数据库(spanishUrls) }); }); } 函数insertIntoDb(查询、值){ connection.query(“插入url(url,站点地图)值?”,[VALUES],函数(err,result){ 如果(错误)抛出错误; log(“将URL添加到db”); });
}刚刚试过,但我得到了错误:resultPromise.then不是函数:(那确实有效!!非常感谢!我真的被困在这里了!@Rever92。很高兴能帮上忙☺️. 如果答案解决了你的问题,你能接受吗。