【发布时间】:2022-02-14 00:29:27
【问题描述】:
我想做一个 SQL 插入,然后是一个带有完整列表的 Select,以在 Vue 中显示,包括新条目。但是 Select 比 Insert 快,并且只返回表中已经存在的旧值。我尝试使用 setTimeout 和 Async-Await。 (SQL 语句有效)
谁能帮帮我,我是 JS 新手。
async function select_time(datum, mitarbeiter_id){
let returnQuery = 'SELECT ...'
let retquery = mysql.format(returnQuery,[datum, mitarbeiter_id]);
pool.query(retquery,(err, data) => {
if(err) {
console.error(err);
return err
}
return data
});
}
async function insert_time(datum, mitarbeiter_id, projekt_id, zeit_von, zeit_bis, stunden, taetigkeit){
let selectQuery = 'INSERT INTO ...';
let query = mysql.format(selectQuery,[taetigkeit, projekt_id, mitarbeiter_id, zeit_von, zeit_bis, stunden, datum]);
pool.query(query,(err) => {
if(err) {
console.error(err);
}
});
if(taetigkeit == 15){
let updateQuery = "UPDATE ..."
let query2 = mysql.format(updateQuery, [mitarbeiter_id])
pool.query(query2,(err, data) => {
if(err) {
console.error(err);
}
});
}
}
async function run_insert_time(datum, mitarbeiter_id, projekt_id, zeit_von, zeit_bis, stunden, taetigkeit){
await insert_time(datum, mitarbeiter_id, projekt_id, zeit_von, zeit_bis, stunden, taetigkeit)
const jsret = await select_time(datum, mitarbeiter_id)
return jsret
}
app.get('/insertTime', (req, res) => {
const datum = req.query.datum;
const mitarbeiter_id = req.query.mitarbeiter_id;
let projekt_id = req.query.projekt_id;
let zeit_von = req.query.zeit_von;
let zeit_bis = req.query.zeit_bis;
const stunden = req.query.stunden;
const taetigkeit = req.query.taetigkeit;
const js = run_insert_time(datum, mitarbeiter_id, projekt_id, zeit_von, zeit_bis, stunden, taetigkeit)
res.json(js)
})
【问题讨论】:
标签: javascript sql express async-await