Я хочу сделать 2 MySQL-запроса из одного GET-запроса, связать результаты и вернуть их. Но я с трудом передаю результат первого запроса в следующий блок then ().
const express = require('express');
const router = express.Router();
const axios = require('axios');
const con = require('../../db');
router.get('/:id', (req, res, next) => {
axios.get('/').then(docs => { //get one book by its id number
const sql = "SELECT title, line, mage_edition FROM books WHERE id=" + req.params.id;
con.query(sql, (err, result) => {
if (err) {
throw err;
}
return result; //"result" shows proper value here
});
}).then(docs => { //get all the listings that appear inside that book
//How do I get "result" here?
const sql2 = "SELECT l.entry_id, e.title, e.kind, e.sort FROM links l INNER JOIN entries e ON l.entry_id = e.id WHERE book_id=" + req.params.id;
con.query(sql2, (err, result2) => {
if (err) {
throw err;
}
//combine result and result2, then give back with res.status(200).json()
})
});
});
module.exports = router;
Любая помощь будет принята с благодарностью. Я закончил серию обучающих видео по асинхронному JavaScript, но я не могу понять это.