Javascript 在错误服务器开始侦听之前调用异步函数
我有一个节点应用程序,我想在服务器启动前调用函数,我的问题是:Javascript 在错误服务器开始侦听之前调用异步函数,javascript,node.js,callback,promise,bluebird,Javascript,Node.js,Callback,Promise,Bluebird,我有一个节点应用程序,我想在服务器启动前调用函数,我的问题是: 建议的理由是什么 这会有问题吗(在服务器启动之前我调用了一些异步函数) 顺便说一句,我用蓝知更鸟 这是我的密码 //This is the function which I want to call before process.beforeProc(); //Before I start the following server http.createServer(app).listen(app.get('
//This is the function which I want to call before
process.beforeProc();
//Before I start the following server
http.createServer(app).listen(app.get('port'), function (err) {
if (err) {
console.error(err);
} else {
console.log('listening on port ' + app.get('port'));
}
});
**UPDATE**
The preProcess look like following
exports.beforeProc= function () {
run.validate(function (err) {
console.log(err);
process.exit(1);
});
Parser.parse().then(function (con) {
//Cache the path values to serve new requests
if (typeof require.cache.persist === 'undefined') {
require.cache.persist = {};
}
require.cache.persist.con = con;
}, function (err) {
console.log(err);
});
…我没有50个代表,所以我回答: process.beforeProc()是否有回调? 如果是这样,您可以这样做:
process.beforeProc(function() {
// Once the beforeProc loaded it will return the callback, so whats
// in here
http.createServer(app).listen(app.get('port'), function (err) {
if (err) {
console.error(err);
} else {
console.log('listening on port ' + app.get('port'));
}
});
});
我没有50个代表,所以我回答: process.beforeProc()是否有回调? 如果是这样,您可以这样做:
process.beforeProc(function() {
// Once the beforeProc loaded it will return the callback, so whats
// in here
http.createServer(app).listen(app.get('port'), function (err) {
if (err) {
console.error(err);
} else {
console.log('listening on port ' + app.get('port'));
}
});
});
beforeProc
是异步的吗?createServer
是否依赖于beforeProc
的结果?@dm03514-是的,它包含一些使用承诺的方法…然后返回承诺,然后使用然后链调用侦听()
仅当beforeProc
功能completed@adeneo-您能否提供建议如何执行的示例?这完全取决于beforeProc
函数的外观,但我可以创建一些通用示例来返回承诺?beforeProc
是否异步?createServer
是否依赖于beforeProc
的结果?@dm03514-是的,它包含一些使用承诺的方法…然后返回承诺,然后使用然后链调用侦听()
仅当beforeProc
功能completed@adeneo-你能提供一个例子来说明它是如何推荐的吗?这完全取决于beforeProc
函数的外观,但我可以举出一些通用的例子,只是返回一个承诺?同意。您需要将服务器创建函数放入callback.Agreed中。您需要将服务器创建函数放入回调函数中。