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

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

在 NODE 中使用承諾.js // 控制臺(tái)日志會(huì)多次打印結(jié)果

在 NODE 中使用承諾.js // 控制臺(tái)日志會(huì)多次打印結(jié)果

呼啦一陣風(fēng) 2022-09-16 20:57:15
我正在制作一個(gè)程序,該程序采用一系列鏈接并返回有多少鏈接已損壞以及有多少鏈接正在運(yùn)行?,F(xiàn)在,我正在用一個(gè)數(shù)組來測(cè)試它,該數(shù)組有四個(gè)工作鏈路和兩個(gè)斷開的鏈接。這是我的代碼:function getBrokenLinks(linksArr){    let links = linksArr    let brokenLinks = 0     links.forEach(link => {        fetch(link.href)             .then( res => {                if ( res.status != 200 ){                     brokenLinks++                 }             }).then( () => {console.log(brokenLinks)})     })    return brokenLinks }這是我收到的輸出:輸出我希望控制臺(tái)只打印一次斷開的鏈接總數(shù),并在完成獲取所有鏈接后打印。
查看完整描述

2 回答

?
皈依舞

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

你需要先等待所有的承諾。然后,您可以打印結(jié)果。另外,要返回任何內(nèi)容,您需要使函數(shù)異步,然后所有外部代碼也必須是異步的!


async function getBrokenLinks (linksArr) {

    let brokenLinks = 0

    await Promise.all(linksArr.map(link => (async () => {

      try {

        const res = await fetch(link.href)

        if (res.status != 200) brokenLinks++

      } catch (e) {

        brokenLinks++

      }

    })()))


    console.log(brokenLinks)

    return brokenLinks


查看完整回答
反對(duì) 回復(fù) 2022-09-16
?
莫回?zé)o

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

你可以使用“全部承諾”來等待所有承諾被推翻:


/*

Promise.all([promise1, promise2,..])

.then(function() {

    // all promises have been resolved

})

*/


function getBrokenLinks(linksArr) {

    let links = linksArr

    let brokenLinks = 0

    let promises = []


    links.forEach(link => {

        // save promise to push onto array

        let promise = fetch(link.href)

        .then(res => {

            if (res.status != 200) {

                brokenLinks++

            }

        })

        promises.push(promise)

    })


    return Promise.all(promises)

    .then(() => {

        return brokenLinks

    })


// Calling code:

/*

getBrokenLinks([])

.then(console.log)

*/


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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