【发布时间】:2016-01-06 07:06:10
【问题描述】:
当然,有很多异步问题和答案。但我的问题是关于我需要返回一些东西的异步情况。
我在 node express 中有这个:
app.use('/', FalcorServer.dataSourceRoute(function(req, res) {
return new someClass('SOMEHOST', req.query.paths);
}));
现在我的问题是,someClass 由于 AJAX 是异步的。 (在我的示例中,我使用 setTimeout 来说明我的观点)。
类似这样的:
class someClass {
constructor(redisHost, pathString) {
return setTimeout(function(){
return someModel;
}, 1500);
}
}
module.
exports = someClass;
但是我必须在我的app.use 中处理这个返回,我该怎么做呢?
【问题讨论】:
-
把你的头撞到墙上,因为没有回调,异步代码不会很好地工作(读作“根本”)。
-
我猜你见过this question。答案仍然是一样的——你仍然需要调整你的代码来使用回调。也许您的构造函数返回一个以回调为参数的函数,而正是该函数调用了
setTimeout。 -
好的,谢谢,有什么提示或方向可以找到解决方案吗?
-
你可以稍微重构一下。您可以 first 进行 AJAX 调用,然后在回调中调用
app.use。
标签: javascript node.js iojs