簡體   English   中英

從 Sequelize 獲取查詢結果,然后按結果運行刮刀作業結果

[英]Get query results from Sequelize then run a scraper job result by result

我正在嘗試通過 Sequilize 查詢數據庫,然后我想使用返回的每條記錄來運行 Scraping 作業(使用 puppeteer)。 我希望它只逐條記錄運行,就像我們開始抓取第一條記錄,然后等待第一條記錄完成,然后轉到第二條記錄。

到目前為止,這是我的代碼 Scraping 控制器:

exports.directFind = async (vin, res) => {
    if (vin) {
        let browserInstance = browserObject.startBrowser();
        await scraperController(browserInstance,vin)
        .then(results => {
            return res(results)
        });
    } 
};

使用刮板發送通知的功能

const sendNotif = async () => {
    Vins.findAll({raw : true}).then(async (vins) => {
        await vins.map(async (vin) => {
            console.log(vin.vin)
            await search.directFind(vin.vin,function(res) {
                status.findLatestVinStatus(vin.id,function(latestVINStatus) {
                    if (latestVINStatus.vmacs3CharCode == res.result.order.vmacs3CharCode || latestVINStatus.gobStatusCode == res.result.order.gobStatusCode) { //to be cganged for prod
                        console.log("we need to send notif")
                        //sendEmail(res.result)
                    }
                });
            })
            console.log('end')
        });
    })
}

謝謝

您可以使用 for 循環一一查看結果:

for (const vin of await Vins.findAll({raw : true})) {
  await search.directFind(vin.vin, res => { // ... })
}

暫無
暫無

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

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