Можно указать имя таблицы с JPA со следующим синтаксисом:
@Table(name="\"user\"")
** вы также можете сделать это с помощью функции рекурсии **
//const dirents = await fs.readdirSync(path, {withFileTypes:true});
const dirents = [1,2,3]
const upload = (example) => {
console.log('uploading...');
return new Promise(function (resolve, reject) {
resolve(example)
});
};
function callUpload(dirent, length, count) {
if(count >= dirents.length){
return;
}
upload(dirent).then(() => {
count += 1;
console.log("success")
callUpload(dirents[count], dirents.length, count)
})
}
callUpload(dirents[0], dirents.length, 0)
Для последовательных обещаний использование простого цикла в функции async
очень просто и понятно:
let userIDs = [1, 2, 3];
async function uploadIDS(ids) {
for (let id of ids) {
let res = await upload(id)
console.log("Success:", res)
}
}
const upload = (example) => {
console.log('uploading...');
return new Promise(function(resolve, reject) {
resolve(example)
});
};
uploadIDS(userIDs)
Вот современный пример использования reduce
с async/ await
(который вы можете запустить здесь )
let userIDs = [1,2,3];
userIDs.reduce( async (previousPromise, nextID) => {
await previousPromise;
return upload(nextID).then((val) => {
console.log("success", val);
})
}, Promise.resolve());
const upload = (id) => {
console.log('uploading...', id);
return new Promise(function (resolve, reject) {
resolve(id);
});
};