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

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

顯示錯誤消息并在承諾中返回 null

顯示錯誤消息并在承諾中返回 null

紫衣仙女 2022-08-27 09:55:25
我如何在控制臺中顯示錯誤并在iif的第二部分中返回值,如下所示:return fetch(templatePath)  .then((response) => response.ok ? response.text() : function() {    console.error(`Template ${templatePath} not found.`);    Promise.resolve(null);  })  .then((templateHtml) => {    newElement.innerHTML = templateHtml;    while (newElement.firstChild) {      oldElement.appendChild(newElement.firstChild);    }  })但這會將函數(shù)顯示為字符串,而不是像我想要的那樣繼續(xù)使用 null。
查看完整描述

4 回答

?
ABOUTYOU

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

腳本中有 2 個錯誤:

  1. 是一個匿名函數(shù),它不被調(diào)用,只是聲明,function()

  2. 匿名函數(shù)未返回聲明的承諾Promise.resolve(null);

溶液:

return fetch(templatePath)

  .then((response) => {

    if (response.ok) return response.text();

    console.error(`Template ${templatePath} not found.`);

    return null;

  })

  .then(...


查看完整回答
反對 回復(fù) 2022-08-27
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個贊

您不必創(chuàng)建函數(shù),只需使用逗號運(yùn)算符 (),該運(yùn)算符計(jì)算兩個操作數(shù),并返回最后一個:,


return fetch(templatePath)

  .then(

    (response) => response.ok ? response.text() : (console.error(`Template ${templatePath} not found.`), null)

  )

  .then((templateHtml) => {

    newElement.innerHTML = templateHtml;


    while (newElement.firstChild) {

      oldElement.appendChild(newElement.firstChild);

    }

  })

但是,如果發(fā)生錯誤,建議拒絕承諾:


return fetch(templatePath)

  .then(

    (response) => response.ok ? response.text() : Promise.reject(new Error(`Template ${templatePath} not found.`))

  )

  .then((templateHtml) => {

    newElement.innerHTML = templateHtml;


    while (newElement.firstChild) {

      oldElement.appendChild(newElement.firstChild);

    }

  })


查看完整回答
反對 回復(fù) 2022-08-27
?
人到中年有點(diǎn)甜

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

如果出現(xiàn)錯誤,則不返回函數(shù),只需返回 null。


每個塊返回一個承諾。當(dāng)您返回不是 promise 的內(nèi)容時,從傳遞給函數(shù)的回調(diào)函數(shù),函數(shù)返回的 promise 將在回調(diào)函數(shù)返回時解析,并立即使用回調(diào)函數(shù)返回的非 promise 值實(shí)現(xiàn)。thenthenthen


在您的例子中,如果發(fā)生錯誤,第一個函數(shù)調(diào)用返回的承諾將以 的值實(shí)現(xiàn)。thennull


如果傳遞給函數(shù)的回調(diào)函數(shù)的返回值本身就是一個 promise,則函數(shù)調(diào)用返回的 promise 將被解析但尚未結(jié)算。僅當(dāng)回調(diào)函數(shù)返回的 promise 已解決時,它才會結(jié)算。thenthen


在您的情況下,如果為 true,回調(diào)函數(shù)將返回 promise 。函數(shù)調(diào)用返回的承諾將被解析,但只有在此承諾結(jié)算后才會結(jié)算。response.okresponse.textthenresponse.text


return fetch(templatePath)

  .then((response) => {

    if (response.ok) return response.text();


     console.error(`Template ${templatePath} not found.`);

     return null;

  })

  .then((templateHtml) => {

    newElement.innerHTML = templateHtml;


    while (newElement.firstChild) {

      oldElement.appendChild(newElement.firstChild);

    }

  })


查看完整回答
反對 回復(fù) 2022-08-27
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個贊

明白了


return fetch(templatePath)

  .then((response) => {

    if (response.ok) {

      return response.text();

    }

    else {

      console.error(`Template ${templatePath} not found.`);

      return Promise.resolve(null);

    }

  })

  .then((templateHtml) => {

    newElement.innerHTML = templateHtml;


    while (newElement.firstChild) {

      oldElement.appendChild(newElement.firstChild);

    }

  })


查看完整回答
反對 回復(fù) 2022-08-27
  • 4 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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