3 回答
TA贡献1848条经验 获得超6个赞
我最终在这里试图找到类似问题的解决方案,所以对于像我这样的其他不幸的小伙子,将粘贴我发现的内容,以下工作:
async function A(B: () => Promise<void>) {
await B();
}
现在我想调用A并传递一个异步函数,然后我这样做:
await A(async () => {
await wait(3000);
})
TA贡献1812条经验 获得超5个赞
异步函数只不过是一个函数返回承诺。取样。
const getPromise = () => Promise.resolve("1")
const store = (fn) => {
fn().then(console.log)
}
store(getPromise)
const storeCB = (fn, cb) => {
fn().then(cb)
}
store(getPromise, console.log)
const storeThen = (fn) => {
return fn().then(x => "append: " + x)
}
storeThen(getPromise).then(console.log)
const getAsync = async () => "2"
store(getAsync)
const storeWithAwait = async (fn) => {
const restult = await fn()
return restult
}
storeWithAwait(getAsync).then(console.log)
添加回答
举报