Promise/Async/Generator

Simple callback difficult error handling because try...catch don’t work getJSON('xx.json', (err, data) => { if (err) console.log('err') // do something }) sequences of steps, leading to pyramid of doom getJSON('xx.json', (err, data) => { if (err) console.log('err') invite(data[0].name, (err, data) => { if (err) console.log('err') // do something }) }) waiting until all the parallel tasks are done let person, item, getPerson('xx', (err, data) => { if (err) console.log('err') person

JavaScript Review

floating-point numbers Number 类型 follow IEE 754 的规范,即双精度浮点数, 浮点数运算会造成误差,比如 0.1 + 0.2 // 0.30000000000000004 能表示的安全整数的范围大小在 [-2^53 + 1, 2^53 - 1] 之间,在此范围内的整数,

CSS Review

box model css 把文档树中的每个元素描述为一个 box,通过相关的属性决定每个 box 的大小、位置、在画布上的层叠顺序 stacking level等。 每个 box 都是一个矩形框,包

Audio Sprite

Background 业务中遇到一个 tts 生成音频并播放的需求,为了节省 tts 生成成本,属于同一个音色的所有文案会生成同一个音频文件,但是前端要按正常的顺序播放。举个例

Polling

业务中或多或少会遇到服务端无法立刻返回结果的情况,一般解决方案是轮询接口 Polling,但除此之外,还有其他数据推送方案,比如 Long Pollin