我正在编写一个需要使用服务进行外部身份验证的应用程序。为此,我使用 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
。完成我想要的事情的最佳实践是什么?
最佳答案
通过返回 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');
});
})
}
关于javascript - 从临时 express 服务器返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44894980/