V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mercurylanded
V2EX  ›  Node.js

为啥nodejs的大部分函数都是回调出结果呢。像其他语言那样顺序执行不行嘛?有时候回调层数多了真的很晕啊。

  •  
  •   mercurylanded · 2012-12-03 15:31:31 +08:00 · 5289 次点击
    这是一个创建于 4365 天前的主题,其中的信息可能已经有所发展或是发生改变。
    6 条回复    1970-01-01 08:00:00 +08:00
    luin
        1
    luin  
       2012-12-03 15:52:33 +08:00
    可以试试这些:
    https://github.com/caolan/async
    https://github.com/creationix/step

    对于开发者来说Node.js是单线程的,顺序执行意味着阻塞,影响性能。
    mercurylanded
        2
    mercurylanded  
    OP
       2012-12-03 16:09:31 +08:00
    @luin nodejs的解释器本身也不会等待程序返回结果就执行后面的了?
    luin
        3
    luin  
       2012-12-03 16:21:06 +08:00   ❤️ 1
    @mercurylanded 是啊,其实就是顺序执行。异步的部分简单说就是Node.js帮你开新线程执行,并把结果通过回调函数传给你。
    mercurylanded
        4
    mercurylanded  
    OP
       2012-12-03 16:26:35 +08:00
    了解了,谢谢
    BOYPT
        5
    BOYPT  
       2012-12-03 16:40:32 +08:00
    维护起来晕说明你的程序结构没有充分为js的异步做好优化;

    js程序对各个异步动作分类、对象封装等等才好维护,这算是js的设计模式吧。
    zythum
        6
    zythum  
       2012-12-03 17:42:15 +08:00
    你可以试试老赵的windJs。 可以吧异步写得同步似的,估计你会开心很多。
    但是js异步有她的魅力哦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:44 · PVG 05:44 · LAX 13:44 · JFK 16:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.