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

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

我嘗試在 JavaScript 中創(chuàng)建一個(gè) while 循環(huán)。我有一個(gè)我想在身體上做的例子

我嘗試在 JavaScript 中創(chuàng)建一個(gè) while 循環(huán)。我有一個(gè)我想在身體上做的例子

蝴蝶刀刀 2023-07-14 16:20:59
const condition = true;while (condition) condition = checkCondition();function checkCondition(){    (async () => {        if (await page.$('condition') !== null){ // condition met            return true;        } else { // condition not met            return false;        }    })();}我不確定我做得是否正確。請(qǐng)有人告訴我正確的方法。
查看完整描述

2 回答

?
偶然的你

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

prime 的答案將使您更接近并提供一些有用的材料供閱讀。我想我會(huì)通過修復(fù)幾個(gè)問題并添加更多解釋來在此基礎(chǔ)上進(jìn)行一些改進(jìn)。


下面是您的代碼的工作演示


(async function() {

  let condition = true;

  while (condition) condition = await checkCondition();

})()


async function checkCondition() {

  console.log('checkCondition was called');

  if (await someAsyncLogic() !== null){ // condition met

    return true;

  } else { // condition not met

    return false;

  }

}


async function someAsyncLogic() {

  return Math.random() > 0.2 ? true : null;

}

您的代碼實(shí)際上具有以下內(nèi)容:


function checkCondition(){

    (async () => {

        // do some logic

        return true/false

    })();

}

這里的問題是,你的 return true/false 只會(huì)讓你內(nèi)心的 IIFE(async () => ...)()提供一個(gè)解析為 true/false 的承諾。如果您愿意,您甚至可以將該值存儲(chǔ)在變量中。


function checkCondition(){

    const theResult = (async () => {

        // do some logic

        return true/false

    })();

    console.log(theResult) // <-- [object Promise]

    console.log(await theResult) // <-- true/false

}

但是,正如我們所看到的, checkCondition 本身不返回任何內(nèi)容。只有里面的內(nèi)部函數(shù)才可以。您必須返回 theResult 才能執(zhí)行此操作 - 但為了做到這一點(diǎn),您需要將 checkCondition 聲明為異步函數(shù),此時(shí),不再需要異步 IIFE,這就是該示例將其刪除的原因。


如果 checkCondition 是異步的,那么調(diào)用它的代碼必須使用 wait,并且必須位于異步上下文中(如 async IIFE 或普通的異步函數(shù))。


查看完整回答
反對(duì) 回復(fù) 2023-07-14
?
天涯盡頭無女友

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

const condition = true;

while (condition) condition = checkCondition();


async function checkCondition() {

? ?if (await page.$('condition') !== null){ // condition met

? ? ? ? return true;

? ?} else { // condition not met

? ? ? ? return false;

? ?}

}


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

添加回答

舉報(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)