sql >> データベース >  >> RDS >> Mysql

ノードjsでのMySQL呼び出しの非同期と待機

    非同期関数displayDBからpromiseを返す必要があります awaitを使用する場合 テストのキーワードでは、最初にpromiseがどのように機能するかを学ぶ必要があります。擬似コード:

    var displayDB = () => {
        return new Promise((resolve,reject)=>{
            connection.query('SELECT * FROM products', (err, resp) => {
                if (err) {
                    reject(err)
                } else {
                    const table = [];
                    resp.forEach((product) => {
                        obj = {
                        'Product ID': product.productID,
                        'Category': product.category,
                        'Price': product.price,
                        'Stock': product.stockQuantity
                        }
                        table.push(obj)
                    })
                    resolve(table)
                }
            })
        })
    }
    
    
    var test = async () => {
       try{
        console.table(await displayDB())
        }catch(e){
            console.log(e)
        }
        connection.end()
    }
    test()
    

    https://developer.mozilla.org/en -US / docs / Web / JavaScript / Reference / Global_Objects / Promise



    1. SQLで平方根を計算する方法

    2. MYSQLエラーの取得:エラーコード:2006-MySQLサーバーがなくなりました

    3. コンポジットインデックスがある場合、通常のMySqlインデックスが必要ですか

    4. Postgresデータベース内のすべてのテーブルを切り捨てる