2
當從函數明確返回new Promise
時,我們得到resolve
和reject
函數傳入。我們可以在函數內部的任意點使用這些方法來指示解析或拒絕諾言,包括回調函數內部到內部的其他功能。解決內部回調中的異步函數
考慮:
const doSomeDbWork = function (db) {
return new Promise((resolve, reject) => {
db.doStuff(result => resolve(result));
});
};
是否有使用async
的相當的不明確返回一個new Promise
時,我們也不能等待(就像這個分貝回調的情況下)?
const doSomeDbWork = async function (db) {
db.doStuff(result => /* ? */);
};
目前我認爲這是不可能的,而我只需要返回一個新的承諾。我錯過了一招嗎?有沒有辦法做到這一點?
'var result = await promisify(db.doStuff)' – elclanrs
@elclanrs - 可能意思是'var result = await promisify(db.doStuff)()',對不對? – Amit
@不,是的,就是這樣 – elclanrs