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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript:變量在等待中未定義

JavaScript:變量在等待中未定義

哈士奇WWW 2023-06-15 09:45:10
我在下面有一個代碼片段,我的問題是我在 page.evaluate() 內(nèi)部收到一條錯誤消息是未定義的,而我在一開始url就明確定義了 const 。url我對 JS 中的變量范圍不是很熟悉,我可以知道為什么會出現(xiàn)此錯誤以及如何解決它?const puppeteer = require('puppeteer');const url = "https://stackoverflow.com/";function run () {? ? return new Promise(async (resolve, reject) => {? ? ? ? try {? ? ? ? ? ? const browser = await puppeteer.launch();? ? ? ? ? ? const page = await browser.newPage();? ? ? ? ? ? await page.goto(url);? ? ? ? ? ??? ? ? ? ? ? let temp = await page.evaluate(() => {? ? ? ? ? ? ? ? let metaTag = document.querySelector('head > [name="description"]');? ? ? ? ? ? ? ? const output = url + ": " + metaTag.getAttribute('content');? ? ? ? ? ? ? ? return output;? ? ? ? ? ? })? ? ? ? ? ? browser.close();? ? ? ? ? ? return resolve(temp);? ? ? ? } catch (error) {? ? ? ? ? ? return reject(error)? ? ? ? }? ? })}run().then(console.log).catch(console.error);
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

這不是您對 JS 中變量范圍的理解的問題。


page.evaluate只是行為不正常,因為該函數(shù)是在頁面上下文而不是定義它的上下文中計算的。


如果要將數(shù)據(jù)傳遞給它,請將其作為參數(shù):


let temp = await page.evaluate((url) => {

    // ...

}, url)


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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