Nodejs 原生 Promise、async/await 的局限性

众所周知,Nodejs 已原生支持 Promise 和 async/await 关键字,异步控制已经变得更加方便。 然而,如今仍有很多人选择使用第三方的 Promise 库(如 bluebird)和类似 async/await 的实现(如 co)。这并不完全是历史原因使然,而是原生 Promise 和 async/await 仍存在着许多不足之处。本文将简单地提出一些,希望能抛砖引玉。     阅读全文
Equim's avatar
Equim 2017年5月28日

Nodejs 的 co 库与原生 async/await 的对比

co(意为 coroutine)是一个非常精简的异步控制流工具,通过它可以使用 generator 将异步回调写法改为同步写法。async/await 是来自ES7新规范的关键字,参考了C#等其他语言的解决方案。 在 v7.6.0 之前,使用 async/await 需要加上--harmony-async-await这个 flag。目前 Nodejs v7.6.0 已正式支持 async/await,不需要--harmony-async-await了!     阅读全文
Equim's avatar
Equim 2017年2月23日

Nodejs 按行读取控制台输入(stdin)的几种方法

在用 Nodejs 写 CLI 应用或者做OJ的时候经常会遇到要从 stdin 读取输入的情况,这里总结了几种不依赖第三方库来按行读取输入的方法。     阅读全文
Equim's avatar
Equim 2017年2月21日

使用 WinSCP 脚本来部署 Hexo 博客

部署 Hexo 博客的方法有很多种,比较常见的是通过 git。然而 git 还是很麻烦,用 SCP/SFTP 不好吗,又便捷又安全,也不需要额外装什么东西(只要远程端开启了 sshd 就行),也比 git 更直接。目前我还没找到 SCP/SFTP 对应的 hexo-deploy 插件,于是打算不依靠 hexo deploy,直接自己动手写一个脚本。     阅读全文
Equim's avatar
Equim 2017年2月18日