![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
热恋之星
这个作者很懒,什么都没留下…
展开
-
node处理未捕获异常
nodejs最有魅力的地方就是异步编程,但异步情况下异常处理起来就比较麻烦了。// 同步方法 var sync = function(){ throw new Error("出错了!!!") } // 异步方法 var async = function(callback){ // do something process.nextTick(function(){原创 2017-02-18 22:25:17 · 913 阅读 · 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 · 1451 阅读 · 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 · 365 阅读 · 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 · 1569 阅读 · 0 评论 -
eggjs业务中间件中无法获取ctx.params
问题 由于路由中间件的加载顺序在业务中间件之后,所以在这里无法取到ctx.params // app/middleware/test.js module.exports = options => { return async function (ctx, next) { ctx.logger.info(ctx.params); // undefined await...原创 2018-08-03 00:21:51 · 4661 阅读 · 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 · 244 阅读 · 0 评论