хочу чтобы
сначала var sql3='SELECT `id` FROM `orders`'; по промису
потом
var sql2='SELECT `orderid` FROM `orders` GROUP BY `orderid` limit start,end';
в третьем промисе уже бес последующих промисов
var sql1 ='SELECT `id`,`prod`,`name`,`photo`,`price`,`sale`,`remote_ adr`,`quantity` FROM `orders` where orderid=?'; в цикле
не могу сделать так чтобы length и orderids передались в последний then
app.get('/orders/:page', (req, res) => {
var connection = getMySQLConnection();
var smartphone=[];
var allsmartphone={};
var smartphoneList=[];
var allprice=0;
var a;
var b;
var length;
var orderids;
var start;
var end;
var allprice;
start=(req.params.page-1)*10;
end=req.params.page*10;
var sql3='SELECT `id` FROM `orders`';
var sql2='SELECT `orderid` FROM `orders` GROUP BY `orderid`';
var sql1 ='SELECT `id`,`prod`,`name`,`photo`,`price`,`sale`,`remote_adr`,`quantity` FROM `orders` WHERE orderid=?';
function pquery (con, sql, par) {
return new Promise ( (res, rej) => {
con.query (sql, par, (err, result) => {
if (err) {
rej (err);
} else {
res (result);
}
});
});
}
Promise.all([
pquery (connection, sql3, []).then( resulta => {
length=resulta.length;
if(start<0){start=0;}
if(end>(length-req.params.page*10)%10){end=length;}
}),
pquery (connection, sql2, []).then( result => {
orderids=result;
})
]).then ( () => {
for(var j=0;j<orderids.length;j++) {
connection.connect(function(err) {
connection.query(sql, [orderids[j]], function (err, result) {
for (var i = 0; i < results.length; i++) {
// Create the object to save the data.
b = results[i].price - results[i].price * results[i].sale / 100;
a = b * results[i].quantity;
allprice += a;
var smart = {
'id': results[i].id,
'prod': results[i].prod,
'name': results[i].name,
'photo': results[i].photo,
'sale': results[i].sale,
'price': results[i].price,
'tsale': b,
'vsego': a,
'quantity': results[i].quantity,
'allprice': allprice,
};
smartphone.push(smart);
}
});
allsmartphone.push= smartphone;
});
});
console.log(orderids);
res.render('orders', {"smartphoneList": smartphoneList,"allsmartphone": allsmartphone,'orderids':orderids});*/
});
});