nodejs的process.on('message')转promise】的更多相关文章

// main.js const cp = require('child_process'); const child = cp.fork('./child.js'); const callbackPool = {}; child.on('message', msg => { let msgId = msg._id, cb = callbackPool[msgId]; if (cb) { cb.resolve(msg); clearTimeout(cb.timer); callbackPool[…
//Create child processvar thread = require('child_process'); var msg = thread.fork(__dirname + '/child.js',['asdasd']); msg.on('message', function (m) { debugger; console.log('PARENT got message:', m); }); msg.on('close', function () { //3 debugger;…
原promise.js库地址:https://github.com/stackp/promisejs promises是JavaScript实现优雅编程的一个非常不错的轻量级框架.该框架可以让你从杂乱的多重异步回调代码中解脱出来,并把精力集中到你的业务逻辑上. 今天从GIT源码库中下载了promise.js,发现该源码是基于Web前端JavaScript写的,并不能直接用于nodejs.还好代码不是很多,也不是很复杂.经过分析整合,将其实现为nodejs的一个框架,代码如下: (function…
process.cwd() 是当前执行node命令时候的文件夹地址 ——工作目录,保证了文件在不同的目录下执行时,路径始终不变__dirname 是被执行的js 文件的地址 ——文件所在目录 Nodejs官方文档上的解释: process.cwd(): The process.cwd() method returns the current working directory of the Node.js process. 意思很明了啦,就是说process.cwd()返回的是当前Node.js…
虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程.node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作. 进程模块 process模块允许你获得或者修改当前node进程的设置,不想其他的模块,process是一个全局进程(node主进程),你可以直接通过process变量直接访问它. process实现了EventEmitter接口,exit方法会在当进程退出的时候执行.因为进程退出之…
var cmd=process.platform=='win32'?'tasklist':'ps aux'; var exec = require('child_process').exec; var qqname='qq'; exec(cmd, function(err, stdout, stderr) { if(err){ return console.log(err); } stdout.split('\n').filter(function(line){ var p=line.trim(…
var co = require("co"); var fs = require("fs"); function cusReadFile(fileName) { //总之,要返回一个Promise对象,这样写也可以,因为fs.readFile返回的就是一个Promise对象 /** * return function(fn){ * fs.readFile(fileName,fn); * } */ return new Promise(function (resolv…
Process 全局对象,可以在代码中的任何位置访问此对象,使用process对象可以截获进程的异常.退出等事件,也可以获取进程的当前目录.环境变量.内存占用等信息,还可以执行进程退出.工作目录切换等操作. Event:'exit'   当进程准备退出时触发. process.on('exit', function(code) { // do *NOT* do this setTimeout(function() { console.log('This will not run'); }, 0)…
1.process是一个全局进程,你可以直接通过process变量直接访问它. process实现了EventEmitter接口,exit方法会在当进程退出的时候执行.因为进程退出之后将不再执行事件循环,所有只有那些没有回调函数的代码才会被执行. 在下面例子中,setTimeout里面的语句是没有办法执行到的. process.on('exit', function () { setTimeout(function () { console.log('This will not run'); }…
wcf basicHttpBinding content-type    text/xml;charset=utf-8 wsHttpBinding  'application/soap+xml; charset=utf-8' webHttpBinding 'application/x-www-form-urlencoded'   对应网页中的post请求 所以如果是post请求wcf服务,要使用webHttpBinding…