类型承诺<any>没有呼叫签名



我想在300ms后返回一个异步函数。

为了做到这一点,我考虑创建一个承诺,我在300毫秒后解决

const justLogDataFromForms = async (index, key, currentValue, payload) => {
const  dummyPromise:Promise<any> = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 300);
});
await dummyPromise()
return 
}

但是会抛出错误

Type Promise没有呼叫签名

谁能解释一下这个错误,让我知道我该如何修复它?此外,是否有更好的方法来返回一个异步函数后x的时间后,它被调用?

你的变量dummyPromise是一个承诺而不是函数所以不能叫。只要去掉括号来等待Promise,或者根本不使用变量:

await new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 300);
});

可以使用

await Promise.all([dummyPromise]);

这应该在某些情况下确实需要Promise作为变量。

相关内容

最新更新