-1

当然,有很多异步问题和答案。但我的问题是关于我需要返回一些东西的异步情况。

我在节点快递中有这个:

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该怎么做?

4

1 回答 1

1

我认为你需要调整你的想法...... 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
  // }
});
于 2015-10-08T15:27:48.923 回答