我想在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
作为变量。