0%

背景

由于需求是一个web terminal,前端使用xterm.js,后端使用go-tty的接口部分,用到了Websocket通信,但发现市面上大大多数的库都是基于发布订阅的,需要后端也一起支持(不太可能),所以自己封装了个Hooks。

阅读全文 »

工厂模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function createPerson(name, age, job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
alert(this.name);
};
return o;
}

var person1 = createPerson("Nicholas", 29, "Software Engineer");
var person2 = createPerson("Greg", 27, "Doctor");

person1.sayName(); //"Nicholas"
person2.sayName(); //"Greg"
阅读全文 »

computed 是计算属性,依赖其他属性计算值,并且 computed 的值有缓存,只有当计算值变化才会返回内容。

watch 监听到值的变化就会执行回调,在回调中可以进行一些逻辑操作。

阅读全文 »

浏览器中的Event Loop

我们都知道JavaScript是单线程的,也就是说同一时间只能干一件事。这是因为JavaScript主要是用来操作DOM的,如果变成多线程,浏览器就懵逼了,不知道该听谁的了。但是虽然js是单线程,但是完全可以模拟多线程,靠的就是Event Loop。
我们都知道js中的代码分 同步 和 异步,所谓的 异步 其实就是不会阻塞我们的主线程,等待主线程的代码执行完毕才会执行。callback setTimeout setInterval Promise … 这些都是都是我们耳熟能详的 异步 代码

阅读全文 »