nodejs 常见问题整理

1.什么是错误优先的回调函数?

设计一个回调函数的时候,第一个参数是err,用于优先解决错误,后面再传递参数。

fs.readFile(filePath, function(err, data) {  //异步读取文件
    if (err) {
        //handle the error
    }
    // use the data object
});

2.如何避免回调地狱(注:代码一下从这函数跳到另一函数,流程不连续,大量回调函数导致代码难以阅读,形成回调地狱问题)?

  1. 可以使用promise
  2. 可以使用q的库实现promise或者同步
  3. 同步阻塞类型的接口:
    代码流程清晰,但会阻塞当前线程。

    假如有业务流程,同时用到一些异步回调接口、一些同步阻塞接口;
    一些特定操作又只能在主业务线程进行;
    又得保持主业务线程不阻塞。

    如何让代码得流程保持清晰?
    那就尽量让代码看起来像同步的。
 
3、由于process.stdoutprocess.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)
 
















posted @ 2017-12-21 13:48  pyj063  阅读(509)  评论(0编辑  收藏  举报