-
Http爬蟲查看全部
-
GitHub瀏覽器快捷鍵T,進行搜索文件
快捷鍵Ctrl+F,搜索代碼
查看全部 -
var EventEmitter=require('events').EventEmitter??? // 引入事件模塊
var life = new EventEmitter()? // 創建實例
life.setMaxListeners(11)?? //官方規定監聽器不超過10個,可手動修改最大值
life.removeListener('事件名',second)? //移除監聽事件
var hasConfortListener = life.emit('事件名','參數')? //調用emit
console.log(life.listeners('照顧').length)//輸出當前監聽個數查看全部 -
沒人發現單詞寫錯了嗎,不是classes嗎
查看全部 -
const?http?=?require('http');const?hostname?=?'127.0.0.1';const?port?=?3000;const?server?=?http.createServer((req,?res)?=>?{ ??res.statusCode?=?200; ??res.setHeader('Content-Type',?'text/plain'); ??res.end('Hello?World\n');});server.listen(port,?hostname,?()?=>?{ ??console.log(`Server?running?at?http://${hostname}:${port}/`);});
node server.js
查看全部 -
const?http?=?require('http');const?hostname?=?'127.0.0.1';const?port?=?3000;const?server?=?http.createServer((req,?res)?=>?{ ??res.statusCode?=?200; ??res.setHeader('Content-Type',?'text/plain'); ??res.end('Hello?World\n');});server.listen(port,?hostname,?()?=>?{ ??console.log(`Server?running?at?http://${hostname}:${port}/`);});
查看全部 -
node server.js
查看全部 -
一起期待下一期的課程查看全部
-
好好,測試一下
查看全部 -
http -get / request
查看全部 -
1. 什么是回調? 回調是異步編程時的基礎,將后續邏輯封裝成起始函數的參數,逐層嵌套 2. 什么是同步/異步? 同步是指:發送方發出數據后,等接收方發回響應以后才發下一個數據包的通訊方式。 ? 異步是指:發送方發出數據后,不等接收方發回響應,接著發送下個數據包的通訊方式。 ? 3. 什么是I/O? 磁盤的寫入(in)磁盤的讀?。╫ut) 4. 什么的單線程/多線程? 一次只能執行一個程序叫做單線程 一次能執行多個程序叫多線程 5. 什么是阻塞/非阻塞? 阻塞:前一個程序未執行完就得一直等待 非阻塞:前一個程序未執行完時可以掛起,繼續執行其他程序,等到使用時再執行 6. 什么是事件? 一個觸發動作(例如點擊按鈕) 7. 什么是事件驅動? 一個觸發動作引起的操作(例如點擊按鈕后彈出一個對話框) 8. 什么是基于事件驅動的回調? 為了某個事件注冊了回調函數,但是這個回調函數不是馬上執行,只有當事件發生的時候,才會調用回調函數,這種函數執行的方式叫做事件驅動~這種注冊回調就是基于事件驅動的回調,如果這些回調和異步I/O(數據寫入、讀取)操作有關,可以看作是基于回調的異步I/O,只不過這種回調在nodejs中是有事件來驅動的 9. 什么是事件循環? //事件循環Eventloop,倘若有大量的異步操作,一些I/O的耗時操作,甚至是一些定時器控制的延時操作,它們完成的時候都要調用相應的回調函數,從而來完成一些密集的任務,而又不會阻塞整個程序執行的流程,此時需要一種機制來管理,這種機制叫做事件循環. 總而言之就是:管理大量異步操作的機制叫做事件循環 Event Loop: 回調函數隊列。異步執行的函數會被壓入這個隊列; 隊列被循環查詢
查看全部 -
請求方法:
get:獲取數據
post:提交數據
put:更新發布數據
delete:刪除
head類同get
狀態碼:
1XX:已提交請求,進行處理
2XX:已提交請求已處理
3XX:重定向,進一步處理
4XX:客戶端錯誤,請求有語法錯誤
5XX:服務器端錯誤
200 ok,請求成功
400 語法錯誤
401 未授權
403 服務器拒絕
404 資源不存在
500服務器發生不可預期的錯誤
503 當前不能處理該請求查看全部 -
模塊的流程
查看全部 -
node的模塊分類
查看全部 -
var?EventEmitter?=?require('events').EventEmitter var?life?=?new?EventEmitter(); //?addEventListener life.setMaxListeners(11); function?water(who)?{ ????console.log('給?'?+?who?+?'?倒水Water'); } life.on('求安慰',?water); //?life.on('求安慰',?function(who)?{ //?????console.log('給?'?+?who?+?'?倒水'); //?}); life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?揉肩'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?做飯'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?洗衣服'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?...5'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?...5'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?...7'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?...8'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?...9'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?..10'); }) life.on('求安慰',?function(who)?{ ????console.log('給?'?+?who?+?'?發火,你想累死我啊!'); }) life.on('求溺愛',?function(who)?{ ????console.log('給?'?+?who?+?'?買衣服'); }); life.on('求溺愛',?function(who)?{ ????console.log('給?'?+?who?+?'?交工資'); }); life.removeListener('求安慰',?water); var?hasComfortListener?=?life.emit('求安慰',?'漢子'); var?hasLovedListener?=?life.emit('求溺愛',?'妹子'); var?hasPlayedListener?=?life.emit('求玩壞',?'妹子和漢子'); console.log(hasComfortListener); console.log(hasLovedListener); console.log(hasPlayedListener); console.log(life.listeners('求安慰').length); life.removeAllListeners('求安慰'); console.log(life.listeners('求安慰').length); console.log(life.listeners('求溺愛').length); console.log(EventEmitter.listenerCount(life,?'求安慰'));
查看全部
舉報