簡體   English   中英

Node.js - 在繼續之前從 MySQL 獲取返回值

[英]Node.js - Getting return value from MySQL before proceeding

我目前正在使用 node.js 與我的數據庫進行通信。 我遇到了一個問題,我想在異步數據庫查詢繼續之前等待它。

我已經嘗試了許多來自互聯網的示例,但我似乎無法找到實現它的方法或它的問題。 發生的情況是,在 mysql 查詢之后,它會繼續下一行而不等待返回值。

這是我的代碼:

 //Connection with database var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "justcall" }); console.log("before insert"); function queryPromise(str){ return new Promise((resolve, reject) => { con.query(str, (err, result, fields) => { if(err) reject(err); resolve(result); }) }) } async function run(){ let answer = await queryPromise("INSERT INTO calllog (userId, callId, timeCalled, callDuration, status, callType) VALUES ('27', '33', '2019-11-13 22:30:20', '00:00:01', '1', '1')"); console.log(answer); } run(); console.log("after insert");

由於run()是異步的,你需要等待它。

run().then(function() { console.log("after insert"); });

如果你從另一個異步 function 調用它,你可以使用await

async function doit() {
    await run();
    console.log("after insert");
}
doit();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM