解決SQL查詢中匯出一個值時的回呼地獄問題
P粉014218124
P粉014218124 2023-09-04 21:09:38
0
1
450
<p>我的目標是,如果我的SQL查詢找到結果,將<code>someVar</code>設定為1。 問題是,賦值是局部的,當我嘗試使用<code>console.log(someVar)</code>時,在區塊內結果為1,但在區塊外結果為0。有沒有辦法將值匯出到區塊外? </p> <pre class="brush:js;toolbar:false;">let someVar = 0; con.query(`SOME SQL QUERY`, (error, rows) => { if (error) throw error if (rows.length > 0) { someVar = 1; //console.log(someVar) -> 結果為1 } }); con.end(); //console.log(someVar) -> 結果為0 if (someVar === 0) { // Some code } </pre></p>
P粉014218124
P粉014218124

全部回覆(1)
P粉545218185

感謝Fredrik,我修復了它。 我最終使用瞭如下的promise

let promiseQuery = await new Promise((resolve, reject) => {
    con.query(`SOME SQL QUERY`, (error, results, fields) => {
        if (error) reject(error);
        resolve(results || {});
    })

})
const someVar = promiseQuery.length
if (someVar === 0) {
    // Some code
} else {
    // Some code
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!