Я получаю от внешнего интерфейса массив имен элементов itemsNames
. Я проверяю, есть ли элементы в БД или должны быть созданы новые записи. Я написал следующее для -l oop. Я хочу, чтобы l oop до await
до тех пор, пока не будет выполнен каждый запрос, и возвращаю каждый элемент в список, чтобы позже выполнить еще несколько процессов. Если я удаляю метод .exe c (), запрос возвращает созданный или найденный элемент. Как я могу открыть созданный элемент и заставить for-l oop ждать, пока не будет проверен каждый реестр? Я хочу иметь реестр созданных или уже существующих элементов. В следующем примере скриншота все элементы были новыми.
For-l oop:
let dbList;
for (var i = 0; i < itemsNames.length; i++) {
let itemsNames= itemsNames[i];
dbList+= await Item.findOrCreate({ name: itemsNames}, { name: itemsNames})
.exec( (err, item, wasCreated) => {
if (err) {
throw 'Unavailable';
}
if(wasCreated) {
sails.log('Created a new Item: ' + item.name);
} else {
sails.log('Found the existing Item: ' + item.name);
}
return item;
});
console.log('returned from findOrCreate Items: ' + i + ' ' + dbList);
}
console.log('Loop end');
return dbList;
Это вывод консоли:
Я использую паруса 1.2.4