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

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

我有一個(gè)循環(huán),其條件取決于循環(huán)本身調(diào)用的函數(shù)的布爾值

我有一個(gè)循環(huán),其條件取決于循環(huán)本身調(diào)用的函數(shù)的布爾值

慕尼黑5688855 2023-07-20 14:56:30
(async function() {  try {    let notAvailible = true;    while (notAvailible) notAvailible = await checkAvailible();    if (!notAvailible) orderProduct();  } catch (err) {    console.error(err);  }})();while 循環(huán)會運(yùn)行直到條件 notAvailible 為 false,然后運(yùn)行函數(shù) orderProduct() 嗎?或者會發(fā)生一些不想要的事情嗎?
查看完整描述

1 回答

?
jeck貓

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

雖然此代碼可能有效,但存在一些問題:

  1. 你的競爭條件有問題。假設(shè) X 在檢查時(shí)可用checkAvailable,但在此代碼轉(zhuǎn)到 之前orderProduct,X 不再可用,因?yàn)槠渌硞€(gè)客戶端訂購了可用的 X。那么,orderProduct就會失敗。您似乎想要循環(huán)播放直到產(chǎn)品可用。

  2. 該代碼將永遠(yuǎn)等待產(chǎn)品可用。如果那永遠(yuǎn)不會發(fā)生怎么辦?暫停是個(gè)好主意。

  3. 代碼無情地敲擊另一端,不斷詢問“它可用嗎?” “是可用的么?” “是可用的么?” (就像一個(gè)小孩問“我們到了嗎?”:-))。它至少應(yīng)該等待一段時(shí)間,通常在某個(gè)時(shí)候(再次)放棄之前以更大的步幅后退。

相反,將orderProduct訂單發(fā)送到服務(wù)器(或數(shù)據(jù)庫或其他),并讓系統(tǒng)的部分自動(dòng)訂購產(chǎn)品 - 如果失敗,請說明失敗是因?yàn)楫a(chǎn)品不可用還是其他原因,所以該代碼知道是否重試。如果服務(wù)器的結(jié)果是“不可用”,請稍等一下(使用逐漸增大的后退邏輯),然后再次嘗試下訂單;并添加超時(shí)。


查看完整回答
反對 回復(fù) 2023-07-20
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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