Node.js 从等待调用中的异步函数中断

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

好的,我正在使用基于promise的库处理来自Memcache的数据,但我遇到的问题是,如果找到结果,我不知道如何中断异步调用

我使用的代码是:

        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;
  }
  // ...
});