久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - NodeJS connect模塊use的問題

瀏覽:111日期:2023-08-25 18:20:28

問題描述

初學(xué)nodejs,在了不起的NodeJS有這樣一段代碼,通過中間件,實(shí)現(xiàn)代碼請求時(shí)間過長的控制臺打印

//request-time.jsmodule.exports = function(opts){ var time = opts.time||100; return function(req,res,next){var timer = setTimeout(function(){ console.log(req.method + ' , ' + req.url + ' , too long!');},time);var end = res.end;res.end = function(chunk,encoding){ res.end = end;// res.end(chunk,encoding);//直接end(chunk,encoding)會出錯(cuò) clearTimeout(timer);};next(); }}

注釋的部分就是本人的疑問,猜測是end里有this的一些東西,不知道理解對不對

問題解答

回答1:

閉包” 一詞來源于以下兩者的結(jié)合:要執(zhí)行的代碼塊(由于自由變量被包含在代碼塊中,這些自由變量以及它們引用的對象沒有被釋放)和為自由變量提供綁定的計(jì)算環(huán)境(作用域) ---百度百科

先說下閉包概念

你的理解沒錯(cuò)javascript - NodeJS connect模塊use的問題,這個(gè)是驗(yàn)證過程,原因是因?yàn)槿绻阒苯诱{(diào)用end,這個(gè)end是因?yàn)檫@個(gè)閉包強(qiáng)行留下來的,所以會自動(dòng)綁定計(jì)算機(jī)環(huán)境,所以這是后他的this就是Window,所以直接調(diào)用end會出錯(cuò)

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 浠水县| 包头市| 漳州市| 威宁| 嵩明县| 福建省| 五指山市| 东山县| 如皋市| 玛纳斯县| 陇川县| 黔东| 扎囊县| 曲松县| 邮箱| 二手房| 石门县| 寻乌县| 萍乡市| 京山县| 荔波县| 太康县| 漯河市| 闽清县| 诏安县| 呼图壁县| 博罗县| 文水县| 黑河市| 资源县| 南开区| 噶尔县| 四川省| 铜川市| 龙口市| 沙河市| 古丈县| 藁城市| 临猗县| 泽库县| 昌吉市|