为什么bluebirdjs promises可以与await一起使用?

时间:2019-01-20 16:02:08

标签: javascript node.js promise bluebird

如果有人因为我这个愚蠢的问题而受伤,请提前对不起,但是无论如何:

我一直认为await仅适用于本地承诺。但是今天我遇到了 bluebirdjs 承诺也由await正确处理了。

我的问题是:

1)await如何真正地与非本地承诺一起使用?

2)如何实现自己的 Promise对象,该对象可以与await一起正常使用?

const BluebirdPromise = require('bluebird');

function sleep(mls) {
  return new BluebirdPromise(resolve => setTimeout(resolve, mls));
}

async function test() {
  await sleep(5000); // waits 5000 mls
  console.log('done'); // printed after 5000 mls
}

test();

0 个答案:

没有答案