1.什么是错误优先的回调函数?
设计一个回调函数的时候,第一个参数是err,用于优先解决错误,后面再传递参数。
fs.readFile(filePath, function(err, data) { //异步读取文件
if (err) {
//handle the error
}
// use the data object
});
2.如何避免回调地狱(注:代码一下从这函数跳到另一函数,流程不连续,大量回调函数导致代码难以阅读,形成回调地狱问题)?
- 可以使用promise
- 可以使用q的库实现promise或者同步
- 同步阻塞类型的接口:
代码流程清晰,但会阻塞当前线程。
假如有业务流程,同时用到一些异步回调接口、一些同步阻塞接口;
一些特定操作又只能在主业务线程进行;
又得保持主业务线程不阻塞。
如何让代码得流程保持清晰?
那就尽量让代码看起来像同步的。
3、由于process.stdout
和process.stdin
与其他进程的通信,都是流(stream)形式,所以必须通过pipe
管道命令中介
4、
config 字段
config
字段用于添加命令行的环境变量。
下面是一个package.json
文件。
{
"name" : "foo",
"config" : { "port" : "8080" },
"scripts" : { "start" : "node server.js" }
}
然后,在server.js
脚本就可以引用config
字段的值。
http
.createServer(...)
.listen(process.env.npm_package_config_port)