当回调不是一个选项时,如何处理异步 javascript 中的 returns?
How to deal with returns in async javascript when callbacks are not an option?
当然还有很多异步问答。但我的问题是关于异步情况,在这种情况下我需要 return 一些东西。
我在 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
中处理这个 return,我该怎么做?
我觉得你需要调整思路了... app.use 进入回调里面。在不完全了解您问题的所有详细信息的情况下,我认为这可能会对您有所帮助。
function someClass(a, b, callback) {
return setTimeout(function(){
callback(a+b);
}, 1500);
}
new someClass(1, 2, function(response) {
console.log(response === 3);
// your app.use statement which needs the response goes here.
// In fact all your express (im guessing you are using express) stuff goes here
// Example
// app.use('/', FalcorServer.dataSourceRoute(function(req, res) {
// return response
// }
});
当然还有很多异步问答。但我的问题是关于异步情况,在这种情况下我需要 return 一些东西。
我在 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
中处理这个 return,我该怎么做?
我觉得你需要调整思路了... app.use 进入回调里面。在不完全了解您问题的所有详细信息的情况下,我认为这可能会对您有所帮助。
function someClass(a, b, callback) {
return setTimeout(function(){
callback(a+b);
}, 1500);
}
new someClass(1, 2, function(response) {
console.log(response === 3);
// your app.use statement which needs the response goes here.
// In fact all your express (im guessing you are using express) stuff goes here
// Example
// app.use('/', FalcorServer.dataSourceRoute(function(req, res) {
// return response
// }
});