websocket
seajs、requirejs:
1.在js文件里(模块里)
define(function(require, exports, module){
require('2.js'); <--难点
});
2.在html文件里
seajs.use('lib/1.js', function(mod){});
------------------------------------------------------
generator的本质:
语法糖
C++运算符重载:
arr1+arr2 ==>arr1.concat(arr2)
function *show(){
let a = 12;
let data1 = yield $.ajax('data/1.txt');
let b =5;
let data2 = yield $.ajax('data/2.txt');
}
🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽
function show(){
let a = 12;
$.ajax('data/1.txt').then(res=>{
data1 = res;
let b = 5;
$.ajax('data/2.txt').then(res=>{
let data2 = res;
});
});
}
Promise的本质:状态机
1.当状态改变的时候--调用之前挂起的then队列
2.then的时候直接执行对应的函数,并且参数给人家
-------------------------------------------------------
WebSocket:
1.双工
2.HTML5的
3.用的非常广
socket.io
浏览器<-->服务器 http
WebSocket 协议是基于http的
sock.emit 发送
sock.on 接收
-------------------------------------------------------
WebSocket -- socket.io
1.服务端
a.先有http服务
let server = http.createServer();
server.listen(4311);
b.再有ws服务
let wsServer = io.listen(server);
wsServer.on('connection', function(sock){
sock
});
2.浏览器
a.引库
<script src="xxxx/socket.io/socket.io.js"></script>
b.连接
let sock = io.connet('ws://xxxx/');
---------------------------------------------------
sock.emit('名字', 参数...)
sock.on('名字', function(参数...){
});