Node.js中如何解决多层回调?

在学习Node.js时候,看官网的File System,里面有段代码如下:

fs.rename('/tmp/hello', '/tmp/world', (err) => {
  if (err) throw err;
  fs.stat('/tmp/world', (err, stats) => {
    if (err) throw err;
    console.log(`stats: ${JSON.stringify(stats)}`);
  });
});

因为fs.stat必须在fs.rename后执行,所以必须写成回调中嵌套fs.stat函数.

问题如下:

  1. 是否有好的方法解决这种层层调用,特别是在多个函数是顺序执行的情况下.

阅读 5.7k
4 个回答

es6的promise,个人感觉最好用的一个了。

可以了解一下promise,co之类的。
还可以使用es7规范中的async/await

异步数据流建议用promise rx 但是能用同步就同步

当然是使用promise啦。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题