diff --git "a/\346\236\227\346\230\261/MVC\346\241\206\346\236\266/demo.js" "b/\346\236\227\346\230\261/MVC\346\241\206\346\236\266/demo.js"
new file mode 100644
index 0000000000000000000000000000000000000000..cf691beca39876811c4c3e2ed1de1d7a958f3df0
--- /dev/null
+++ "b/\346\236\227\346\230\261/MVC\346\241\206\346\236\266/demo.js"
@@ -0,0 +1,68 @@
+
+
+function demoPromise() {
+
+ let promise = new Promise(function (resolve, reject) {
+
+ setTimeout(function () {
+ resolve('123456');
+ console.log(promise);
+
+ }, 2000)
+
+
+ })
+ return promise;
+
+}
+
+
+async function demoAwaitAndPromiseAndAsync() {
+
+ let result = await demoPromise();
+ console.log('我在函数的最上面');
+ console.log(result);
+ console.log('我在函数的最下面1');
+ console.log('我在函数的最下面2');
+ console.log('我在函数的最下面3');
+ console.log('我在函数的最下面4');
+}
+
+
+
+let mysql = require("mysql");
+
+function query(sql, values) {
+
+ return new Promise(function (resolve, reject) {
+
+ let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', port: '3306', database: 'situation' })
+ connection.connect();
+
+ connection.query(sql, values, function (err, result) {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ connection.end();
+
+ });
+ });
+
+}
+
+let sql = 'select * from china where id=?'
+
+
+async function select(sql, values) {
+ let result = await query(sql, values)
+ console.log(result);
+
+}
+
+select(sql, 2);
+
+
+
+
diff --git "a/\346\236\227\346\230\261/Promise/demo1.js" "b/\346\236\227\346\230\261/Promise/demo1.js"
new file mode 100644
index 0000000000000000000000000000000000000000..84d20a3b5844be23bb295ad20ecb85d964592b0f
--- /dev/null
+++ "b/\346\236\227\346\230\261/Promise/demo1.js"
@@ -0,0 +1,78 @@
+let fs = require('fs');
+
+let fileName = './1.txt';
+
+fs.exists(fileName, function (result) {
+
+ if (result) {
+ fs.readFile(fileName, function (err, data) {
+ console.log(data.toString());
+ })
+ }
+
+});
+
+
+let promise = new Promise(function (resolve, reject) {
+
+ setTimeout(function () {
+ resolve('我是成功状态');
+ }, 200);
+
+});
+
+
+
+
+function promiseFun() {
+
+ let promise = new Promise(function (resolve, reject) {
+
+ setTimeout(function () {
+ resolve('我是成功状态');//把 promise状态改变
+
+ }, 200);
+
+ });
+ return promise;
+}
+async function demo() {
+
+ let result = await promiseFun();
+
+ console.log(result);
+
+ console.log('我是函数内部的最下面1');
+
+ console.log('我是函数内部的最下面2');
+
+ console.log('我是函数内部的最下面3');
+
+}
+
+
+
+
+
+function readFileByPromise(filename){
+
+ return new Promise(function(resolve,reject){
+ fs.readFile(fileName,function(err,data){
+ if(err){
+ reject(err.message);
+ }else{
+ resolve(data.toString());
+ }
+ })
+ })
+
+}
+
+async function handleFile(fileName){
+
+ let content = await readFileByPromise(fileName);
+
+ console.log(content);
+}
+
+handleFile('./1.txt');
\ No newline at end of file
diff --git "a/\346\236\227\346\230\261/http1/demo.js" "b/\346\236\227\346\230\261/http1/demo.js"
new file mode 100644
index 0000000000000000000000000000000000000000..dc3225c2e4cdcaed4ab8d8e94a996a0e8283df2c
--- /dev/null
+++ "b/\346\236\227\346\230\261/http1/demo.js"
@@ -0,0 +1,21 @@
+let http = require("http");
+let fs = require("fs");
+let server = http.createServer();
+
+ server.on('request',function(req,res){
+ res.setHeader('content-type','text/html;charset=utf-8');
+ let url = req.url;
+ if(url=='/index.html'){
+ //res.write("
我是index.html
");
+ let bf=fs.readFileSync('./files/1.txt')
+ res.write(bf);
+ }
+ if(url=='/index2.html'){
+ //res.write("我是index.html
");
+ let bf=fs.readFileSync('./files/2.txt')
+ res.write(bf);
+ }
+ res.end();
+ })
+ server.listen(80,function(){
+ console.log('server running at http://127.0.0.1')})
\ No newline at end of file
diff --git "a/\346\236\227\346\230\261/http1/files/1.txt" "b/\346\236\227\346\230\261/http1/files/1.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..1a96f041c6c67ff1d2fdf686cc44357ba4ff3864
--- /dev/null
+++ "b/\346\236\227\346\230\261/http1/files/1.txt"
@@ -0,0 +1 @@
+111111111111111111111111
\ No newline at end of file
diff --git "a/\346\236\227\346\230\261/http1/files/2.txt" "b/\346\236\227\346\230\261/http1/files/2.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..d83615bc45f843054135003221c9f0fd80b91654
--- /dev/null
+++ "b/\346\236\227\346\230\261/http1/files/2.txt"
@@ -0,0 +1 @@
+222222222222222222222
\ No newline at end of file
diff --git "a/\346\236\227\346\230\261/http2/demo1.js" "b/\346\236\227\346\230\261/http2/demo1.js"
new file mode 100644
index 0000000000000000000000000000000000000000..1198f0bc6f0844211839eaea89f1178923a19580
--- /dev/null
+++ "b/\346\236\227\346\230\261/http2/demo1.js"
@@ -0,0 +1,35 @@
+
+let http = require("http");
+
+let fs = require("fs");
+const { url } = require("inspector");
+
+let server = http.createServer();
+
+server.on('request',function(req,res){
+
+
+ console.log(req.url);
+
+ if(req.url.lastIndexOf(".")>-1){
+ let path = req.url.split("?")[0];
+ path='.'+path;
+ if(fs.existsSync(path)){
+ fs.readFile(path,function(err,data){
+ console.log(data);
+ res.write(data);
+ res.end();
+
+ })
+ }
+
+ }
+
+
+
+
+});
+
+server.listen(8080);
+
+
diff --git "a/\346\236\227\346\230\261/http2/imgs/demo.png" "b/\346\236\227\346\230\261/http2/imgs/demo.png"
new file mode 100644
index 0000000000000000000000000000000000000000..55cbff981c2ad020988a36ac5dcecb1e7614b5ea
Binary files /dev/null and "b/\346\236\227\346\230\261/http2/imgs/demo.png" differ
diff --git "a/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/demo.js" "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/demo.js"
new file mode 100644
index 0000000000000000000000000000000000000000..9f4ecf198633f60a9bcc82ff6a35abe21a2010ab
--- /dev/null
+++ "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/demo.js"
@@ -0,0 +1,24 @@
+var fs = require('fs');
+let os = require("os");
+let startMem = os.freemem();
+var readerStream = fs.createReadStream('sample.txt', {highWaterMark:3});
+readerStream.setEncoding('UTF8');
+
+readerStream.on('open', function () {
+ console.log('打开了文件');
+})
+
+readerStream.on('data', function (chunk) {
+ console.log(chunk + '===================');
+ data += chunk;
+});
+readerStream.on('end', function () {
+
+ let endMem = os.freemem();
+ console.log((endMem - startMem) / 1024 / 1024);
+ console.log(data);
+});
+
+readerStream.on("close", function () {
+ console.log('结束了');
+});
diff --git "a/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/package-lock.json" "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/package-lock.json"
new file mode 100644
index 0000000000000000000000000000000000000000..48e341a0954d5f8c2accf3a6731be28e5bb9c0de
--- /dev/null
+++ "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/package-lock.json"
@@ -0,0 +1,3 @@
+{
+ "lockfileVersion": 1
+}
diff --git "a/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/sample.txt" "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/sample.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..a033c55ff342db3b6438a29886e3cbf498a83f28
--- /dev/null
+++ "b/\346\236\227\346\230\261/\346\265\201\346\226\207\344\273\266\345\206\205\345\255\230\346\266\210\350\200\227\350\257\273\345\217\226/sample.txt"
@@ -0,0 +1,9 @@
+dannishuioyahsd egfbjkfbsdgvewklgedgb
+
+
+
+
+sfg
+gdgrag
+rgh
+erhrfhb
\ No newline at end of file