一次非同步處理

2021-09-11 09:55:21 字數 1061 閱讀 9206

首發於【】一次非同步處理

今天回憶了一下在做專案的時候遇到的乙個小問題。就是當兩個介面請求的資料相互沒有影響時,而你卻需要這兩個介面的所有資料,你會怎麼做呢?

當我處理這個的時候想到的第乙個方案是這樣的。由於兩個介面相互沒有影響,我使用了乙個中間量進行判斷。**是這樣寫的。

var flag=2;

//請求資料1

function ajax(callback)

flag--;

if(!flag)

}, 1000);

}//請求資料2

function ajax1(callback)

flag--;

if(!flag)

}, 2000);

}ajax(show);

ajax1(show);

function show(datas)

複製**

簡單粗暴的解決掉了,同時這種方式耗時是 max(ajax,ajax1);

let tostring=object.prototype.tostring;

/*** timer 次數

* callback 回掉函式

*/function after(timer, callback) }}

let out = after(2, (allresults)=> );

//請求資料1

function ajax(callback)

out(data);

}, 1000);

}//請求資料2

function

ajax1

() out(data);

}, 2000);

}ajax();

ajax1();

function show(datas)

複製**

以上方案算是最基本的解決方案,比如 觀察者模式、generator 函式、promise、async/await 都可以處理這樣的業務。

一次SYN攻擊處理

公司有oa布置在阿里雲伺服器上,資料庫為了方便備份布置在了本地。最近幾天據同事反映,oa訪問速度很慢,測試了雲伺服器和本地伺服器的網路都是正常的,一時查不到原因。後來想到可能問題會不會出在資料庫的連線上導致阿里雲伺服器訪問本地資料庫速度慢引起oa的訪問速度慢。遂去本地資料庫伺服器 開啟cmd,輸入命...

一次svn的故障處理

辦公室乙個妹紙在用svn的時候,刪掉了乙個目錄,然後上傳的時候出現錯誤,根據報錯,度娘解釋要用cleanup,但是cleanup不能用,妹紙從網上查到要用sqlite3連線wc.db,然後delete一下任務堆積,但是妹紙執行後沒反應,於是妹紙就沒招了 把我叫了過去,於是排障開始了。根據報錯 回到工...

一次CPU過載報警處理

簡訊的生產環境伺服器,cpu 佔用率過高,瘋狂報警,應該是你們昨天上線看門狗導致的 看門狗 守護簡訊服務的監控應用,後續有機會再進行分享 沒錯,昨天確實給簡訊服務裝上了看門狗。但是看門狗服務肯定不會有問題 作為程式猿們,潛意識都堅信自己寫的 永無 bug 主要因為測試環境都沒有此現象。難道是測試妹子...