требуется последовательно выполнить несколько sql запросов к MySQL
вызов команд реализую через Promise
но встал вопрос как сделать универсальный метод обрабатывающий последовательно массив запросов?
более конктретно как на Promise реализовать такую цепочку вызовов?
class myClass() {
constructor() {
this.list = [sq1,sql2,sql3];
}
function myFunc(i) {
...
if(++i < list.length) {
if(...) list.push(newSQL); <= {1} <=
this.myFunc(i)
}
}
}
let m = new MyClass();
m.myFunct(0);
UPDATE
сейчас так реализована одна итерация, вопрос как последовательно обработать весь список:
myBuy(sql) {
return new Promise((resolve, reject) => {
...
let promise = global._query(sql);
promise
.then(
data=>resolve(data),
err=>reject(err)
)
})
}
listSQL.forEach((e) =>
myClass.myBuy(e)
)
Можно что-то вроде этого "наваять", но я бы рекомендовал использовать готовые библиотеки.
Когда-то для подобных вещей я использовал async
let list = [
Promise.resolve(1),
Promise.resolve(2),
];
const add = (p, newP) =>
p.then(results => newP.then(newRes => {
results.push(newRes);
return results;
}));
let p = Promise.resolve([]);
list.forEach(newP => p = add(p, newP));
p = add(p, Promise.resolve(3));
p = add(p, Promise.resolve(4));
p.then(results => console.log(results));
p = add(p, Promise.resolve(5));
p.then(results => console.log(results));
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
I have some issue with calling activity from FREFunctionI had many errors which I could fix but now my app crashes without any erorrs
Подскажите хорошую, удобную альтернативу библиотеке vlcj для медиаплеера JFrame
Я не смог найти метод, который добавляет символ в String на заданную позициюНе в массив String
Имеется запись_голосаogg, необходимо программным способом наложить какие-нибудь эффекты, чтобы на выходе получился обработанный файл