Показать сообщение отдельно
  #15 (permalink)  
Старый 16.10.2020, 17:35
Аспирант
Отправить личное сообщение для riaron Посмотреть профиль Найти все сообщения от riaron
 
Регистрация: 16.08.2020
Сообщений: 53

хочу чтобы
сначала 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});*/
		});
});

Последний раз редактировалось riaron, 17.10.2020 в 17:24.
Ответить с цитированием