2018-06-21JavaScriptCanvas + WebSocket + Redis 实现一个视频弹幕页面布局首先,我们需要实现页面布局,在根目录创建 index.html 布局中需要有一个 video 多媒体标签引入本地视频,添加输入弹幕的输入框、确认发送的按钮、颜色选择器、字体大小滑动条,创建一个 style.css 来调整页面布局的样式,顺便创建一个 index.js 文件用于后续实现核心逻辑,先引入到页面当中。 阅读全文…
2018-06-15异步异步发展流程 —— 异步编程 async/await前言这篇文章是异步发展流程系列的最后一篇,可能会涉及 Promise、Generators、co 等前置知识,如果对这些不是很了解可以看这个系列的前三篇:异步发展流程 —— Promise 的基本使用异步发展流程 —— 手写一个符合 Promise/A+ 规范的 Promise异步发展流程 —— Generators + co 让异步更优雅如果已经具备这些前置知识,那我们继续看看今天的主角,JavaScript 异步编程的终极大招 async/await。 阅读全文…
2018-06-14异步异步发展流程 —— Generators + co 让异步更优雅Generators 简介Generator 函数是 ES6 提供的一种异步编程解决方案,是一个生成器,用于生成一个遍历器的函数,语法行为与传统函数完全不同。 阅读全文…
2018-06-13异步异步发展流程 —— 手写一个符合 Promise/A+ 规范的 Promise概述Promise 是 js 异步编程的一种解决方案,避免了 “回调地狱” 给编程带来的麻烦,在 ES6 中成为了标准,这篇文章重点不是叙述 Promise 的基本用法,而是从零开始,手写一版符合 Promise/A+ 规范的 Promise,如果想了解更多 Promise 的基本用法,可以看 异步发展流程 —— Promise 的基本使用 这篇文章。Promise 构造函数的实现我们在使用 Promise 的时候其实是使用 new 关键字创建了一个 Promise 的实例,其实 Promise 是一个类,即构造函数,下面来实现 Promise 构造函数。 阅读全文…
2018-06-12异步异步发展流程 —— Promise 的基本使用Promise 简介Promise 是 ES6 的新特性,提供了对 js 异步编程控制的新的解决方案,在过去书写异步代码时要靠回调函数,当异步操作依赖于其他异步操作的返回值时,会出现一种现象,被程序员们称为 “回调地狱”,即多层回调函数嵌套,这种代码的可读性、维护性都很差,因此诞生了 Promise,当然 Promise 并不是完全摆脱回调,而只是改变了传递回调的位置,大大减少了回调函数嵌套。 阅读全文…