当new Promise
从我们得到的函数显式返回 aresolve
并reject
传入函数时。我们可以随时在函数内部使用这些方法来指示 promise 的解决或拒绝,包括内部对其他函数的内部回调。
考虑:
const doSomeDbWork = function (db) {
return new Promise((resolve, reject) => {
db.doStuff(result => resolve(result));
});
};
当我们也不能等待时(比如在这个数据库回调的情况下),在async
没有显式返回 a的情况下使用时是否有等价物?new Promise
const doSomeDbWork = async function (db) {
db.doStuff(result => /* ? */);
};
我目前认为这是不可能的,我只需要返回一个新的 Promise。我错过了一个技巧吗?有没有办法做到这一点?