typescript - 输入承诺没有呼叫签名
问题描述
我想在 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 时间后返回异步函数?
解决方案
您的变量dummyPromise
是Promise而不是函数,因此无法调用。只需删除括号以等待 Promise 或根本不使用变量:
await new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 300);
});
推荐阅读
- c++ - 在 linux 中构建 Digikam 源时出错
- redux-form - 使用 Redux 表单和输入掩码验证用户输入的特定长度的电话号码
- istio - 如何配置 istio-proxy 来记录 traceId?
- javascript - 在悬停reactjs上显示菜单
- apache-spark - Spark 上的哨兵权限
- java - Java 8 Collectors groupingBy reducing gives cannot resolve method error
- java - AspectJ @DeclareMixin,接口未声明的方法不会被编织
- javascript - Javascript不打开/关闭手风琴
- amazon-web-services - 部署时出现 AWS Spinnaker(无效的 IamInstanceProfile)问题
- java - 如何在 Java 中查询已配置的最大 IBM MQ 队列深度?