2017-07-03 29 views
1

我正在编写一个需要使用服务对外进行身份验证的应用程序。为此,我使用express来收听重定向并获取我需要的数据。但是,我想将这些数据返回到主范围。这是我到目前为止有:来自临时快递服务器的返回值

const authorize =() => { 
    app.get('/', (req, res) => { 
     res.status(200).send('<script>window.close()</script>') 
     return req.query.code; 
    }); 

    app.listen(3000,() => { 
     console.log('listening'); 
    }); 
} 

const code = authorize(); 

req.query.code是我所需要的数据,我想从authorize()返回。相反,我得到undefined。完成我想要的最佳实践是什么?

+0

为什么downvotes?这个问题看起来很有想法,这是一个很小的例子,等等。你可以看到他已经尽力了 – Isaac

+0

是的,我尽可能地解释了它。如果有什么我应该补充的,让我知道。 –

回答

0

通过返回Promise来修复它。

const authorize =() => { 

    return new Promise((resolve, reject) => { 
     app.get('/', (req, res) => { 
      res.status(200).send('<script>window.close()</script>') 
      resolve(req.query.code); 
     }); 

     app.listen(3000,() => { 
      console.log('listening'); 
     }); 
    }) 
} 
+0

我的不好。这与修复无关。我会编辑它。 –