
nodejs
热恋之星
这个作者很懒,什么都没留下…
展开
-
node处理未捕获异常
nodejs最有魅力的地方就是异步编程,但异步情况下异常处理起来就比较麻烦了。// 同步方法var sync = function(){ throw new Error("出错了!!!")}// 异步方法var async = function(callback){ // do something process.nextTick(function(){原创 2017-02-18 22:25:17 · 963 阅读 · 0 评论 -
Nodejs异步编程一——发布/订阅
我们刚开始学习nodejs时难免会写出这样的代码,一旦嵌套过深,代码将变得很难维护var fs = require("fs")var path = require("path")// 原始函数fs.readdir(path.normalize('/test'), function(err, files){ files.forEach(function(filename, index){原创 2017-02-24 22:36:06 · 1489 阅读 · 0 评论 -
Nodejs异步编程二——Promise/A
Promise/A模式相对比较简单,主要适用于单个异步操作,具体如下:只会存在三种状态:未完成态、完成态和失败态。未完成态只能向完成态和失败态转化。完成态和失败态不能相互转化。状态一旦转化,不能更改。以文件读取为例var fs = require("fs");var path = require("path");var readStream = fs.createReadStream(pa原创 2017-02-24 23:02:39 · 388 阅读 · 0 评论 -
eggjs2.x router 解析问题
router规则router.get('/api/users/:id', app.controller.user.show);router.get('/api/users/login', app.controller.user.login);在上述规则下请求/api/users/login, 路由会匹配到第一个将’login’字符串当做id这是eggjs 升级2.x之后出现的问题,...原创 2018-08-02 23:55:32 · 1625 阅读 · 0 评论 -
eggjs业务中间件中无法获取ctx.params
问题由于路由中间件的加载顺序在业务中间件之后,所以在这里无法取到ctx.params// app/middleware/test.jsmodule.exports = options => { return async function (ctx, next) { ctx.logger.info(ctx.params); // undefined await...原创 2018-08-03 00:21:51 · 4746 阅读 · 2 评论 -
【Nodejs】9.8-10.8 setInteral 运行中停止的问题
现象setInterval(function() { // do samething console.log(Date.now());}, 500);以上这段代码运行25天后会停止,而且不会有任何错误日志github上issue讨论影响范围: node-schedule定时任务、eggjs的schedule定时nodejs在10.9这个版本上修复了这个bug...原创 2019-01-18 10:59:54 · 282 阅读 · 0 评论