gpt4 book ai didi

javascript - 从外部异步函数发送快速响应

转载 作者:行者123 更新时间:2023-12-03 01:59:46 24 4
gpt4 key购买 nike

在快速路由之外有一个函数(类似于setTimeout,异步工作)。就我而言,它是一个监听来自 SocketIO 事件的函数。是否可以发送它的响应?

setTimeout(() => {
res.send('Got it');
}, 1000)

app.get('/endpoint', (req, res) => {
// wait for event 'res' from setTimout
});

最佳答案

如果您只想从另一个函数发送响应,您只需将 res 传递给它即可发送响应。

如果您需要在路由中做更多工作,但只有在其他函数发送响应之后(为什么?),那么您可以将其更改为返回 promise :

const someFunction = res =>
new Promise((resolve) => {
setTimeout(() => {
res.send('Got it');
resolve();
}, 1000);
});

app.get('/endpoint', async (req, res) => {
await someFunction(res);
console.log('this will only be called after res sent');
});

关于javascript - 从外部异步函数发送快速响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com