Node.js 从等待调用中的异步函数中断
好的,我正在使用基于promise的库处理来自Memcache的数据,但我遇到的问题是,如果找到结果,我不知道如何中断异步调用 我使用的代码是:Node.js 从等待调用中的异步函数中断,node.js,asynchronous,Node.js,Asynchronous,好的,我正在使用基于promise的库处理来自Memcache的数据,但我遇到的问题是,如果找到结果,我不知道如何中断异步调用 我使用的代码是: const _pong = function() { return socket.emit('aye', { pong: globals.uuid() }); }; return socket.on('helo', async
const _pong = function() {
return socket.emit('aye', {
pong: globals.uuid()
});
};
return socket.on('helo', async function(data) {
socket._uuid = data.uuid;
let key = 'ws-ping:' + data.uuid;
await cache.get(key).then((result) => {
if(result !== undefined) {
_pong();
}
});
......
});
我基本上只需要忽略
套接字的其余部分。如果使用给定的键找到结果,是否启用
函数?但是它似乎在继续吗?因为您使用的是等待
,所以您可以放弃。然后
,直接在同一块中获得结果
——如果结果存在,那么只需返回
(在\u pong
等待之后,如果这是您要寻找的逻辑):
return socket.on('helo', async function(data) {
socket._uuid = data.uuid;
let key = 'ws-ping:' + data.uuid;
const result = await cache.get(key);
if (result !== undefined) {
_pong();
return;
}
// ...
});