猴子補(bǔ)丁

猴子補(bǔ)丁(monkey patch):主要功能就是動(dòng)態(tài)的屬性的替換,模塊運(yùn)行時(shí)替換的功能。說(shuō)直接點(diǎn)就是程序功能的追加或者變更。
\color{green} {例子1:追加功能}

例子,為res.end添加額外邏輯(clearTimeout),r又不影響es.end的執(zhí)行結(jié)果。
function (req, res, next) {
      `// 存儲(chǔ)原廠設(shè)置res.end`
       var end = res.end
      `// res.end 重新賦值`
       res.end = function (chunk, encoding) {
            `// res.end 恢復(fù)原廠設(shè)置`
            res.end = end
           ` // 重寫(xiě)的res.end被調(diào)用時(shí),其內(nèi)部調(diào)用原廠的res.end`
            res.end(chunk, encoding)
            `// 增加的額外邏輯`
            clearTimeout(timer)
        }
}
module.exports = function (opts) {
    var time = opts.time || 100;
    return function (req, res, next) {
        var timer = setTimeout(function () {
            console.log('is taking too long to respond', req.method, req.url)
        }, time)
       ` // 猴子補(bǔ)丁 `
        var end = res.end
        res.end = function (chunk, encoding) {
            res.end = end
            res.end(chunk, encoding)
            clearTimeout(timer)
        }
        next()
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫(xiě)了一段時(shí)間java切回寫(xiě)python偶爾會(huì)出現(xiàn)一些小麻煩,比如:在java中自定義對(duì)象變成json串很簡(jiǎn)單,調(diào)用...
    8993c20c49db閱讀 25,119評(píng)論 0 8
  • 猴子補(bǔ)丁 猴子補(bǔ)丁的定義:是指再動(dòng)態(tài)語(yǔ)言中,不去改變?cè)创a而對(duì)功能進(jìn)行追加和變更。 猴子補(bǔ)丁的這個(gè)叫法起源于Zope...
    一如初見(jiàn)_39c3閱讀 327評(píng)論 0 0
  • 屬性在運(yùn)行時(shí)的動(dòng)態(tài)替換,叫做猴子補(bǔ)?。∕onkey Patch)。 為什么叫猴子補(bǔ)丁 屬性的運(yùn)行時(shí)替換和猴子也沒(méi)什...
    cb9e58ff5a37閱讀 8,148評(píng)論 0 3
  • json 1、序列化:將內(nèi)存數(shù)據(jù)轉(zhuǎn)成字符串加以保存。dumps2、反序列化:將字符串轉(zhuǎn)成內(nèi)存數(shù)據(jù)加以讀取。load...
    阿登20閱讀 473評(píng)論 0 0
  • 屬性在運(yùn)行時(shí)的動(dòng)態(tài)替換,叫做猴子補(bǔ)?。∕onkey Patch)。猴子補(bǔ)丁的叫法有些莫名其妙,只要和“模塊運(yùn)行時(shí)替...
    多喝燙水_閱讀 351評(píng)論 0 0

友情鏈接更多精彩內(nèi)容