如果有人因为我这个愚蠢的问题而受伤,请提前对不起,但是无论如何:
我一直认为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();