
Nodejs
lslxdx
个人主页: http://www.lslxdx.com
Github: https://github.com/lslxdx
展开
-
Node.js中,q在链式调用和异步调用中起到的作用
Node.js中,q可以方便地将回调大坑转换成链式调用,极大地增强了代码的可读性,下面一段代码演示了q在链式调用和异步调用中起到的作用。源码//app.jsvar Q = require('q');function func1(){ console.log('fun1 start'); var deferred = Q.defer(); deferred.resolve('func1原创 2016-03-30 14:31:28 · 1271 阅读 · 1 评论 -
Node.js中,获取req请求的原始IP
Node.js代码var express = require('express');var app = express();var http = require('http');var server = http.createServer(app);app.set('trust proxy', true);// 设置以后,req.ips是ip数组;如果未经过代理,则为[]. 若不设置,则req原创 2016-04-08 20:45:11 · 7512 阅读 · 0 评论 -
Node.js中,使用cluster创建子进程
'use strict';var cluster = require('cluster');var numCPUs = require('os').cpus().length;// 每个fork出来的子进程, 都会从头执行该js文件console.log('Begin to run js file. pid = ' + process.pid);if(cluster.isMaster){ c原创 2016-06-24 19:54:10 · 875 阅读 · 0 评论 -
javascript中,使用正则表达式实现'字符串截断翻页'
const TEMPLATE_NTH_OCCURANCE = '(?:(?:[^d]+d){n_1,}?)((?:[^d]+d){0,ps})';// !!!使用之前,务必bind({pageSize: xxx<integer>, pageNo: xxx<integer>})!!!function truncate(str, delimiterChar){ var pageSize = Ma原创 2016-06-06 23:06:59 · 658 阅读 · 0 评论 -
Nodejs中,使用nock做http请求的mock
nock 可以拦截nodejs向外发送的HTTP请求,并模拟HTTP服务器响应,返回特定的结果,这对于接口测试非常方便。// 例子更改自: // https://github.com/node-nock/nock#use// 和// https://github.com/node-nock/nock#repeat-response-n-timesvar nock = require('nock原创 2016-06-14 19:10:09 · 3576 阅读 · 0 评论 -
Node.js中, 使用Q.ninvoke封装对象方法为promise
var Q = require('q');function _o(msg){console.log(msg);}function main(){ var obj1 = { var1: 1, func1: function(callback){_o('obj1.func1, var1 = ' + this.var1); callback(null, this.var1);} }原创 2016-06-15 11:52:07 · 1172 阅读 · 0 评论