第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

NodeJS 需要異步任務(wù)

NodeJS 需要異步任務(wù)

手掌心 2023-05-25 18:20:23
我正在嘗試將 NodeJS require 語法與異步數(shù)據(jù)庫查詢一起使用。我希望程序在進(jìn)入下一個(gè)要求之前等待查詢完成,因?yàn)閺臄?shù)據(jù)庫返回的一些信息作為參數(shù)傳遞給下一個(gè)要求。這是我的代碼:const dealership = require('../models/getDealershipById.js')(id);const dealershipLeads = require('../models/getLeadsByDealershipId.js')(dealership.id);const dealershipStaff = require('../models/getStaffByDealershipId.js')(dealership.id);return [dealership, dealershipLeads, dealershipStaff];我曾嘗試將其包裝在匿名異步函數(shù)中,但這沒有用。有誰知道如何做到這一點(diǎn)?這是我的模塊代碼:module.exports = function(id) {const pool = require('../loaders/pool.js')();  pool.query('SELECT * FROM dealerships WHERE id = \'' + id + '\';', (err, res)   => {    if(err) console.error(err.stack);    return res.rows[0];  });};
查看完整描述

1 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

async據(jù)我了解,您已經(jīng)使用and包裝了導(dǎo)出的函數(shù)await:


module.exports = function(id) {

    return new Promise((resolve, reject) => {

        const pool = require('../loaders/pool.js')();


        pool.query(

            "SELECT * FROM dealerships WHERE id = '" + id + "';",

            (err, res) => {

                if (err) {

                    console.error(err.stack);

                    reject(err);

                }

                else {

                    resolve(res.rows[0]);

                }

            }

        );

    });

};

所以現(xiàn)在只需在調(diào)用代碼中使用asyncand :await


async function getData() {

     const dealership = await require('../models/getDealershipById.js')(id);

     const dealershipLeads = await require('../models/getLeadsByDealershipId.js')(dealership.id);

     const dealershipStaff = await require('../models/getStaffByDealershipId.js')(dealership.id);

}


getData()

重要提示:作為旁注,請(qǐng)避免"SELECT * FROM dealerships WHERE id = '" + id + "';",因?yàn)檫@是一個(gè)真正糟糕的安全反模式,如果id未正確清理,它很容易允許 SQL 代碼注入。pool.query("SELECT * FROM dealerships WHERE id = ?", [id], ...)如果您的驅(qū)動(dòng)程序允許,請(qǐng)使用類似的東西,或者將其替換為允許的驅(qū)動(dòng)程序或包裝器。


查看完整回答
反對(duì) 回復(fù) 2023-05-25
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)