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

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

在銷毀對象時管理變量范圍

在銷毀對象時管理變量范圍

我正在使用一個外部 API,它為每個 API 調(diào)用返回一個對象,如下所示。為了成功的共鳴。{ error: null, data: { //response fields }}對于不成功的響應(yīng)。{ error: { //error fields } data: null}我在我的控制器中使用這些 API,如下所示。const verifyPayment = async function() {  const {error, data} = await Service.fetchOrder()  if(error)      return false  const {error, data} = await Service.verifyPayment()  if(error)     return false  return true}我知道我不能聲明或覆蓋const同一范圍內(nèi)的變量。我也不能做同樣的事情,let我先嘗試聲明error,data然后嘗試覆蓋,但它也不起作用。let errorlet data{error, data} = await Service.fetchOrder()我還可以做的一件事是將它們包裝在一個try catch or if塊中,但這是不必要的。有人可以提出解決方法或任何其他模式嗎?
查看完整描述

3 回答

?
慕的地6264312

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

變量可以通過與其聲明分開的解構(gòu)來分配其值,例如:


let error, data;

({error, data} = {error: null, data: 1});

console.log(error, data);


({error, data} = {error: 1, data: null});

console.log(error, data);


來自文檔的注釋:


注意:( ... )當(dāng)使用沒有聲明的對象文字解構(gòu)賦值時,賦值語句周圍的括號是必需的。


{a, b} = {a: 1, b: 2}不是有效的獨(dú)立語法,因?yàn)閧a, b}左側(cè)的 被視為塊而不是對象文字。


但是,({a, b} = {a: 1, b: 2})是有效的,原樣const {a, b} = {a: 1, b: 2}


您的( ... )表達(dá)式需要以分號開頭,或者它可以用于執(zhí)行上一行的函數(shù)。


查看完整回答
反對 回復(fù) 2022-05-22
?
慕斯709654

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

我會做以下事情:


const verifyPayment = async function() {

    let response;

    response = await Service.fetchOrder()

    if(response.error)

        return false

    response = await Service.verifyPayment()

    if(response.error)

       return false

    return true

}


查看完整回答
反對 回復(fù) 2022-05-22
?
婷婷同學(xué)_

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

解構(gòu)變量將變量的使用限制為它們主要分配的值,因此,它們預(yù)計(jì)不會在您的代碼中稍后被修改。


將它們視為“使用一次并丟棄”變量。


話又說回來,一個解決方案就在眼前:重命名它們。


(1) 我們?nèi)绾巫龅竭@一點(diǎn)?


const { data: data1, error: error1  } = await Service.fetchOrder();


if (error1) return false;


const { data: data2, error: error2 } = await Service.verifyOrder();


if (error2) return false;

這樣,您的代碼將保持優(yōu)雅的格式,并且在調(diào)用失敗的情況下也有助于調(diào)試(知道數(shù)據(jù)在被命名為 data1 時已損壞/無效比簡單地跟蹤同名變量的值的所有實(shí)例要好得多被改變了)。


查看完整回答
反對 回復(fù) 2022-05-22
  • 3 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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