想知道这段代码是否正在按我希望的方式运行:
let modelsArr = [];
for (row of stockManagement) {
let sohObj = {};
let modelsObj = {};
modelsObj["st_prodcode"] = row.st_prodcode;
modelsObj["st_sdesc"] = row.st_sdesc;
for (let key in row) {
let n = key.search("_");
if (
n == 3 &&
(key.includes("_rol") ||
key.includes("_rolperc") ||
key.includes("_eoq") ||
key.includes("_ms"))
) {
modelsObj[key] = row[key];
delete row[key];
}
}
let result = await StockPricing.findOne({ st_prodcode: row.st_prodcode });
if (result) {
let pupdate = StockPricing.updateOne(
{ st_prodcode: row.st_prodcode },
row
);
let mupdate = StockModels.updateOne(
{ st_prodcode: row.st_prodcode },
modelsObj
);
} else {
// console.log("insert One called");
StockPricing.create(row);
StockModels.create(modelsObj);
}
}
}
我希望循环的每个实例以最大速度同时运行,并且让循环的每个实例在执行if else语句之前等待结果(StockPricing数据库调用),然后让它更新2或插入对数据库的调用以异步运行。
循环中的代码可以正常工作,但不确定是否同时运行循环的每个实例(不确定其运行速度是否应达到预期的速度)
谢谢