promise經典面試題

2021-10-10 05:34:16 字數 1030 閱讀 9855

var urls = [

'','',

'',

'','',

'',

'',

'','',

'0']function loaddate (url)

xhr.open('get', url)

xhr.send()

})}

按照題意我們可以這樣做,首先併發請求 3 個url中的資料,當其中一條url請求得到資料後,立即發起對一條新url上資料的請求,我們要始終讓併發數保持在 3 個,直到所有需要載入資料的url全部都完成請求並得到資料。

用 promise 實現的思路就是,首先併發請求3個url,得到 3 個promise,然後組成乙個叫promises的陣列。再不斷的呼叫promise.race來返回最快改變狀態的promise,然後從陣列promises中刪掉這個promise物件,再加入乙個新的promise,直到所有的url被取完,最後再使用promise.all來處理一遍陣列promises中沒有改變狀態的promise

function limitload(urls, handler, limit) ); 

});// 利用陣列的 reduce 方法來以佇列的形式執行

return sequence.reduce((last, url, currentindex) => ).catch(err => ).then((res) => );

})}, promise.resolve()).then(() => )

}limitload(urls, loaddate, 3)

關於promise面試題

今天面試被問到了兩個關於promise的面試題,不外乎就是執行順序相關的問題,話不多說,先上 這道題相信大家都明白了,一道爛大街的題,輸出結果不外乎就是promise1,1,promise2,settimeout 大致說一下原理,首先先了解一句話 同步優先,非同步靠邊,settimeout是常用來模...

經典面試題

1.以下三條輸出語句分別輸出什麼?char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 ...

經典面試題

我的老同學現在富得流油。他開創了乙個軟體公司,開發了一系列軟體,生意越做越大。今天他來到這個城市後馬上打 給我。是我啊!聽出來了嗎?是這樣的,我到這兒的大學招畢業生,要在這兒呆上五天,咱哥們趁這個時間好好聚一聚。我做東!既然他要做東,我理所當然順水推舟。人家是老闆,不吃白不吃!我來到他下榻的賓館,看...