运行以下代码片段时,将跳过console.log('done.'): function test (cb) { console.log('2000mspassed') }, 2000) await new Promise((resolve, reject)if test(resolve), console.log('done.
尝试想出API,混入promise功能,比如: class Awaitable { this.promise = Promise.resolve()} // awaited result must be _this_ instance }
let smth = await (new Awaitable
EDIT2:我解决了这个问题,因为我怀疑我的整个方法是错误的。我使用jQuery创建了第二个单独的事件,并在单击done按钮时触发它。问题是,其中一个操作是瞬时的,另一个操作不是即时的。done() { Numpad.val = $("#easy-numpad-output"execute only when Numpad.done() is reso
如果您有一个async函数和await语句。它在Mozilla文档中声明:“如果await操作符后面的表达式的值不是Promise,那么它将被转换为已解析的Promise。”有没有什么办法可以覆盖这一点,比如从表达式中返回false或一个空对象来表明一切都没有按计划进行-或者你必须在promise语句中包装stringify功能吗?async function sortOutStr