国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一道很有意思的面試題

curlyCheng / 549人閱讀

摘要:實(shí)現(xiàn)下面這道題中的函數(shù)這里等待了原型寫法維護(hù)一個(gè)數(shù)組,異步就函數(shù),不是異步就字符串寫法維護(hù)一個(gè)隊(duì)列數(shù)組,里面全部是構(gòu)造函數(shù),第一個(gè)參數(shù)代碼是否異步,第二個(gè)是比較數(shù)組每一個(gè)都是構(gòu)造函數(shù)有點(diǎn)浪費(fèi)空間

實(shí)現(xiàn)下面這道題中的machine函數(shù)

function machine() {
    
}
machine("ygy").execute() 
// start ygy
machine("ygy").do("eat").execute(); 
// start ygy
// ygy eat
machine("ygy").wait(5).do("eat").execute();
// start ygy
// wait 5s(這里等待了5s)
// ygy eat
machine("ygy").waitFirst(5).do("eat").execute();
// wait 5s
// start ygy
// ygy eat
原型寫法

維護(hù)一個(gè)數(shù)組,異步就push函數(shù),不是異步就push字符串

function machine(name) {
    if(!(this instanceof machine)){
        return new machine(name)
    }  
    this.name = name
    this.logs = []
    this.logs.push(`start ${name}`)
}
machine.defer = function(time){
    const times = time
    return function(){
        console.log(`wait ${times}s`)
          return new Promise((resolve)=>{
            setTimeout(()=>{resolve()},times*1000)
        })
    }
}
machine.prototype.execute = async function(){
    const logs = this.logs
    if(logs.length > 0){
         for(let i=0; i
es6寫法

維護(hù)一個(gè)queue隊(duì)列數(shù)組,里面全部是構(gòu)造函數(shù),第一個(gè)參數(shù)代碼是否異步,第二個(gè)是callback

function machine(name) {
    return new Action(name)
}


const defer = (time, callback) => {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(callback())
        }, time * 1000)
    })
}
class QueueItem {
    constructor(defer, callback) {
        this.defer = defer;
        this.callback = callback;
    }
}
class Action {
    queue = []
    constructor(name) {
        this.name = name;
        this.queue.push(new QueueItem(0, () => console.log(`start ${this.name}`)))
    }
    do(eat) {
        this.queue.push(new QueueItem(0, () => console.log(`${this.name} ${eat}`)))
        return this;
    }
    wait(time) {
        this.queue.push(new QueueItem(time, () => console.log(`wait ${time}s`)))
        return this;
    }
    waitFirst(time) {
        this.queue.unshift(new QueueItem(time, () => console.log(`wait ${time}s`)))
        return this;
    }
    async execute() {
        while(this.queue.length > 0) {
            const curItem = this.queue.shift();
            if (!curItem.defer) {
                curItem.callback();
                continue;
            }
            await defer(curItem.defer, curItem.callback)
        }
    }
}
比較

數(shù)組每一個(gè)都是構(gòu)造函數(shù)有點(diǎn)浪費(fèi)空間

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/110176.html

相關(guān)文章

  • 一道意思面試算法

    摘要:解決方案異或操作異或運(yùn)算是對(duì)于二進(jìn)制數(shù)字而言的,比如說(shuō)一個(gè)有兩個(gè)二進(jìn)制,如果兩個(gè)值不相同,則異或結(jié)果為。比如說(shuō),本質(zhì)上其實(shí)是和的每一對(duì)比特位執(zhí)行異或操作,等價(jià)于下面數(shù)字對(duì)應(yīng)的二進(jìn)制數(shù)字對(duì)應(yīng)的二進(jìn)制數(shù)字對(duì)應(yīng)的二進(jìn)制因此的結(jié)果就為啦。 新年第一篇文章,先祝大家新年快樂(lè)!!那么接下來(lái)進(jìn)入正文。 前言 前陣子突發(fā)奇想,突然開(kāi)始刷leetcode。其中刷到了一道有意思的題目,發(fā)現(xiàn)這道題是當(dāng)時(shí)秋招...

    maxmin 評(píng)論0 收藏0
  • 一道常見(jiàn)面試

    摘要:面試題題目頁(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ì)顯示在輸入框中。 題目要求,用戶隨機(jī)點(diǎn)擊A和B多次,要求輸入框顯示結(jié)果時(shí),按照用戶點(diǎn)擊的順序顯示,舉例: 用戶點(diǎn)擊了一次A,然后點(diǎn)擊一次B,又點(diǎn)擊一次A,輸...

    Heier 評(píng)論0 收藏0
  • 一道多線程面試引起自我救贖

    摘要:重溫一個(gè)面試題內(nèi)容數(shù)組內(nèi)容為數(shù)組內(nèi)容為個(gè)英文字母,使用兩個(gè)線程分別輸入兩個(gè)數(shù)組,打印內(nèi)容為這樣的規(guī)律提取一下核心內(nèi)容,去除次要內(nèi)容兩個(gè)線程需要交替執(zhí)行,打印數(shù)字的線程需要先執(zhí)行,數(shù)組打印完畢后線程需要結(jié)束。 一道多線程面試題引起的自我救贖 近日去一個(gè)知名互聯(lián)網(wǎng)企業(yè)參加面試,之前準(zhǔn)備多多信心滿滿,但是面試一開(kāi)始就是一道不起眼的編程題 數(shù)組A內(nèi)容為 1,2,3,4...52 ,數(shù)組B內(nèi)容...

    BaronZhang 評(píng)論0 收藏0
  • 一道面試引發(fā)思考

    摘要:下面我們來(lái)使用面向?qū)ο箢悎D這里就不再畫了首先面試題中所提到的我們都可以看成類,比如停車場(chǎng)是一個(gè)類吧,它里面的車位是一個(gè)類吧,攝像頭,屏幕。。。 以下是某場(chǎng)的一道面試題(大概): 1、一個(gè)停車場(chǎng),車輛入場(chǎng)時(shí),攝像頭記錄下車輛信息2、屏幕上顯示所接收的車輛的信息情況(車牌號(hào))以及各層車位的車位余量3、停車場(chǎng)一共四層車位,其中的三層都為普通車位,還有一層為特殊車位(體現(xiàn)在停車計(jì)費(fèi)價(jià)格上面的不...

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

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

0條評(píng)論

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