首页 > 解决方案 > 输入承诺没有呼叫签名

问题描述

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

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

const justLogDataFromForms = async (index, key, currentValue, payload) => {

      const  dummyPromise:Promise<any> = new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve(true);
        }, 300);
      });
   await dummyPromise()
return 
}

但这会引发错误

类型 Promise 没有调用签名。

有人可以向我解释错误并让我知道如何解决吗?此外,有没有更好的方法在调用 x 时间后返回异步函数?

标签: typescript

解决方案


您的变量dummyPromisePromise而不是函数,因此无法调用。只需删除括号以等待 Promise 或根本不使用变量:

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

推荐阅读