nodejs服务器端问题
发布于 11 年前 作者 denghuancong 4553 次浏览 最后一次编辑是 8 年前

服务器端用nodejs的话,程序初始化需要加载配置文件,但加载是异步的,如何做到加载完配置文件才进行后续初始化?

7 回复

var configs = require('./config.json')

当遇到需要顺序执行场景流程的时候,可以用async模块的async函数来保证顺序执行。 先安装async: npm install async 代码套用下面的结构就可以了保证顺序执行了,原理是通过一个cb回调函数,一步一步传下去,直到完成。 var async = require(‘async’); async.waterfall([ function(cb) { A(cb); }, function(cb) { B(cb); } ], function(err, result) { //A、B都执行完后,最后执行这里 });

按原理上node是传入一个回调函数给事件,待事件处理返回结果后,事件循环会将结果传给应用程序的回调函数,这样保证了结果的正确性

node 读文件 有同步方法。另外如果是json文件,可以直接require

不建议用Async
如果用Async控制主流程, 代码难以阅读. 维护性差.
建议用Promise.比如Q 或者 EventProxy then.js等.

Async为什么就难以阅读, 维护性差了…

@otakugeek
用用你就知道了.
Async 写写简单的逻辑可以. 写复杂逻辑就是给自己找事…
而且,Promise关注数据本身, Async关注的是流程. 侧重点不一样.

回到顶部