等待1,它有什么用?

Moe*_*ald 8 javascript

在 postgres 节点模块中,我偶然发现了以下代码:

async handle() {
  !this.executed && (this.executed = true) && await 1 && this.handler(this)
}
Run Code Online (Sandbox Code Playgroud)

我不明白await 1- 部分。

有人可以解释一下它有什么好处吗?

Ivá*_*rez 9

通过使用该构造,您可以异步执行后一个函数,以便可以执行事件循环中的其他待处理代码。

await相当于promise.then,这会导致promise的解析函数在事件循环的下一个tick中执行。

function handler(n) {
  console.log('handler', n);
  return true;
}

async function fn() {
  return handler(1) && await 1 && handler(2);
}

console.log('start');
fn();
console.log('end');
Run Code Online (Sandbox Code Playgroud)