成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

一道常見(jiàn)的面試題

Heier / 695人閱讀

摘要:面試題題目頁(yè)面上有一個(gè)輸入框,兩個(gè)按鈕,按鈕和按鈕,點(diǎn)擊或者分別會(huì)發(fā)送一個(gè)異步請(qǐng)求,請(qǐng)求完成后,結(jié)果會(huì)顯示在輸入框中。

面試題題目
頁(yè)面上有一個(gè)輸入框,兩個(gè)按鈕,A按鈕和B按鈕,點(diǎn)擊A或者B分別會(huì)發(fā)送一個(gè)異步請(qǐng)求,請(qǐng)求完成后,結(jié)果會(huì)顯示在輸入框中。

題目要求,用戶(hù)隨機(jī)點(diǎn)擊A和B多次,要求輸入框顯示結(jié)果時(shí),按照用戶(hù)點(diǎn)擊的順序顯示,舉例:

用戶(hù)點(diǎn)擊了一次A,然后點(diǎn)擊一次B,又點(diǎn)擊一次A,輸入框顯示結(jié)果的順序?yàn)橄蕊@示A異步請(qǐng)求結(jié)果,再次顯示B的請(qǐng)求結(jié)果,最后再次顯示A的請(qǐng)求結(jié)果。

思考

當(dāng)時(shí)被問(wèn)到的時(shí)候,幾個(gè)想法

寫(xiě)個(gè)高階函數(shù),處理異步請(qǐng)求

怎么保證順序,我是想將其放入數(shù)組中,然后按順序執(zhí)行

當(dāng)時(shí)也沒(méi)寫(xiě)出來(lái),但覺(jué)得很有意思?;厝ニ伎紝?shí)踐來(lái)一下

代碼:

/**
 * A的請(qǐng)求;pA(promise對(duì)象)
 * B的請(qǐng)求;pA(promise對(duì)象)
 * @click 事件函數(shù) handler
 */
let arr = []
let it
function* main() {
    //進(jìn)來(lái)的是pA,pB封裝后的方法
    const data = yield arr.unshift()()
    if(arr.length > 0) {
        it = main()
        it.next()
    }
}
it = main()
//封裝pA,pB的請(qǐng)求
function pn(promise) {
    return promise.then(res => it.next(res))
}
//當(dāng)點(diǎn)擊按鈕發(fā)送請(qǐng)求時(shí),將相應(yīng)的請(qǐng)求加入數(shù)組中
function handler(pn) {
    arr.push(pn)
    //數(shù)組不為空說(shuō)明請(qǐng)求觸發(fā)中
    if(arr.length = 0) {
        it.next()
    }
}

說(shuō)明

點(diǎn)擊按鈕時(shí),先發(fā)放入請(qǐng)求;數(shù)組為空說(shuō)明,還沒(méi)執(zhí)行;就先執(zhí)行;不為空,則加入數(shù)組中,等待執(zhí)行

利用迭代器,遍歷數(shù)組,執(zhí)行請(qǐng)求

封裝函數(shù)fn,思路來(lái)自之前看的Generator的異步請(qǐng)求方式

總結(jié)

以上是我自己思路,覺(jué)得蠻有意思的。寫(xiě)下來(lái)記錄一下

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105474.html

相關(guān)文章

  • 一道簡(jiǎn)單js繼承面試來(lái)查考你是否真透徹了解繼承

    摘要:但這兩個(gè)對(duì)象的原型指向了同一個(gè)實(shí)例對(duì)象,這個(gè)實(shí)例對(duì)象同樣是存在棧內(nèi)存中的然后指向了一個(gè)對(duì)象。實(shí)際是在的實(shí)例對(duì)象增加一個(gè)屬性,并將屬性賦值為,但它并沒(méi)有修改原型鏈上的屬性。側(cè)重理解的指向問(wèn)題 直接先貼題目吧 function A() { this.name = a this.color = [green, yellow] } function B() { ...

    jcc 評(píng)論0 收藏0
  • 從簡(jiǎn)歷被拒到收割今日頭條 offer,我用一年時(shí)間破繭成蝶!

    摘要:正如我標(biāo)題所說(shuō),簡(jiǎn)歷被拒。看了我簡(jiǎn)歷之后說(shuō)頭條競(jìng)爭(zhēng)激烈,我背景不夠,點(diǎn)到為止。。三準(zhǔn)備面試其實(shí)從三月份投遞簡(jiǎn)歷開(kāi)始準(zhǔn)備面試到四月份收,也不過(guò)個(gè)月的時(shí)間,但這都是建立在我過(guò)去一年的積累啊。 本文是 無(wú)精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號(hào):進(jìn)擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無(wú)精瘋 同學(xué)的分享 目錄: 印象中的頭條 面試背景 準(zhǔn)備面試 ...

    tracymac7 評(píng)論0 收藏0
  • 從簡(jiǎn)歷被拒到收割今日頭條 offer,我用一年時(shí)間破繭成蝶!

    摘要:正如我標(biāo)題所說(shuō),簡(jiǎn)歷被拒??戳宋液?jiǎn)歷之后說(shuō)頭條競(jìng)爭(zhēng)激烈,我背景不夠,點(diǎn)到為止。。三準(zhǔn)備面試其實(shí)從三月份投遞簡(jiǎn)歷開(kāi)始準(zhǔn)備面試到四月份收,也不過(guò)個(gè)月的時(shí)間,但這都是建立在我過(guò)去一年的積累啊。 本文是 無(wú)精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號(hào):進(jìn)擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無(wú)精瘋 同學(xué)的分享目錄:印象中的頭條面試背景準(zhǔn)備面試頭條一面(Java+項(xiàng)目)頭條...

    wdzgege 評(píng)論0 收藏0
  • 簡(jiǎn)單說(shuō) 一道JS閉包面試

    摘要:說(shuō)明最近看到這樣一段代碼問(wèn)三行的輸出分別是什么覺(jué)得有點(diǎn)意思,和大家一起來(lái)聊聊。說(shuō)到這里,這道題基本上可以解決了,希望大家能聽(tīng)明白我上面說(shuō)的話(huà),下面的就簡(jiǎn)單了。 說(shuō)明 最近看到這樣一段代碼 function fun(n,o){ console.log(o); return { fun:function(m){ return fun...

    mushang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<