首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

类型'(dispatch: any) => Promise<any>‘上不存在属性'then’。.ts(2339)

这个错误信息是一个 TypeScript 错误,它指出在类型为(dispatch: any) => Promise<any>的函数上不存在属性then。这个错误通常发生在使用异步操作时,例如使用async/await或者Promise

要解决这个错误,你可以检查以下几个方面:

  1. 确保你的函数返回一个Promise对象。then方法是Promise对象的一部分,如果函数没有返回一个Promise,就无法使用then方法。
  2. 确保你的函数使用了async/await或者Promise语法。如果你的函数没有使用这些语法,那么它就不是一个异步函数,也就不会返回一个Promise对象。
  3. 检查你的函数是否正确地使用了dispatch参数。根据错误信息中的提示,你的函数接受一个dispatch参数,但是没有使用它。确保你在函数中正确地使用了dispatch参数。
  4. 检查你的函数是否正确地处理了异步操作。如果你在函数中执行了异步操作,例如发送网络请求或者访问数据库,确保你正确地处理了这些异步操作的结果,并返回一个Promise对象。

总结起来,要解决这个错误,你需要确保你的函数返回一个Promise对象,并正确地处理异步操作。如果你需要进一步的帮助,请提供更多的代码和上下文信息,以便我能够更准确地帮助你解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

深度讲解TS:这样学TS,迟早进大厂【11】:类型断言

当我们引用一个在此类型不存在属性或方法时,就会报错: const foo: number = 1; foo.length = 1; // index.ts:2:5 - error TS2339:...上面的例子中,数字类型的变量 foo 是没有 length 属性的,故 TypeScript 给出了相应的错误提示。 这种错误提示显然是非常有用的。...但有的时候,我们非常确定这段代码不会出错,比如下面这个例子: window.foo = 1; // index.ts:1:8 - error TS2339: Property 'foo' does not...上面的例子中,我们需要将 window 添加一个属性 foo,但 TypeScript 编译时会报错,提示我们 window 不存在 foo 属性。...此时我们可以使用 as any 临时将 window 断言为 any 类型: (window as any).foo = 1; 在 any 类型的变量,访问任何属性都是允许的。

1.2K20

Node.js项目TypeScript改造指南

; } } 当然,如果你代码比较多,改造太耗时间,那就用'any大法'吧,每一个属性直接用 any 就完事了。...对象属性赋值报错 动态对象是 js 的特色,我先定义个对象,不管啥时候我都可以直接往里面加属性,这种报错,最快的改造办法就是给对象申明 any 类型。...函数中使用this 根据写法不同,大概会有以下4种报错: 1.类型“NodeModule”不存在属性“name”。...ts(2339)2.类型“typeof globalThis”不存在属性“name”。ts(2339)3."this" 隐式具有类型 "any",因为它没有类型注释。...VSCode调试ts 步骤七、类型加强、消除any 接下来要做的就是补充 Interface、Type,逐步将代码中的被业界喷得体无完肤的 any 干掉,但不要妄想去掉所有 any ,js 语言说到底还是动态语言

4.3K20

Node.js 项目 TypeScript 改造指南

; } } 当然,如果你代码比较多,改造太耗时间,那就用'any大法'吧,每一个属性直接用 any 就完事了。...对象属性赋值报错 动态对象是 js 的特色,我先定义个对象,不管啥时候我都可以直接往里面加属性,这种报错,最快的改造办法就是给对象申明 any 类型。...函数中使用this 根据写法不同,大概会有以下4种报错: 1.类型“NodeModule”不存在属性“name”。...ts(2339)2.类型“typeof globalThis”不存在属性“name”。ts(2339)3."this" 隐式具有类型 "any",因为它没有类型注释。...VSCode调试ts 步骤七、类型加强、消除any 接下来要做的就是补充 Interface、Type,逐步将代码中的被业界喷得体无完肤的 any 干掉,但不要妄想去掉所有 any ,js 语言说到底还是动态语言

8.3K32

TypeScript在项目开发中的应用实践体会

image.png 大体翻译成大白话就是: declare与declare global它们功能是一样的。在d.ts中,使用declare与declare global两个作用是相等的。...栗子,看完之后就大体懂了,都是一些比较常见的实例。 在使用TypeScript开发的时候想为一些API添加一些自定义的属性,或者进行一些覆盖。...image.png 泛型是TypeScript当中必知必会的一个属性,在很多的时候,类型推导在开始时很难进行推倒。相比于使用 any 类型,使用泛型来创建可复用的组件要更好,因为泛型会保留参数类型。...image.png Exclude & Extract Exclude:从一个联合类型中排除掉属于另一个联合类型的子集 来看下,Exclude使用形式是Exclude,如果T中的属性在S不存在那么就会返回...而通过Promise方式,进行返回值的推导可以让使用dispatch拥有返回类型的能力。 ?

2.8K60

Node.js项目TypeScript改造指南

; } } 当然,如果你代码比较多,改造太耗时间,那就用'any大法'吧,每一个属性直接用 any 就完事了。...对象属性赋值报错 动态对象是 js 的特色,我先定义个对象,不管啥时候我都可以直接往里面加属性,这种报错,最快的改造办法就是给对象申明 any 类型。...函数中使用this 根据写法不同,大概会有以下4种报错: 1.类型“NodeModule”不存在属性“name”。...ts(2339)2.类型“typeof globalThis”不存在属性“name”。ts(2339)3."this" 隐式具有类型 "any",因为它没有类型注释。...VSCode调试ts 步骤七、类型加强、消除any 接下来要做的就是补充 Interface、Type,逐步将代码中的被业界喷得体无完肤的 any 干掉,但不要妄想去掉所有 any ,js 语言说到底还是动态语言

4.5K10

前端源码架构在拍卖详情页的探索

毕竟,「跨页面的广播需求基本是不存在的。」 关于页面容器的介绍,也在之前的一篇《Decorator+TS装饰你的代码》一文中介绍到。这里也不赘述了。 count-down 的简单抽离 ?...当然,这里是CountDown的一个方法。...类型约束 所以「理论,后续的开发者,新增模块、修改模块,都不应该会修改到index.tsx 这个入口文件」 Ts 状态约束 「类型约束其实是 TS 的编码应该就塑造的类型思维的一部分」 ,毕竟不是介绍...Ts,所以这里主要说下新增模块如何做到类型约束的。...所以后续考虑用脚本强制起来~ 充分使用 TS 注释即文档的功能,每一个方法、属性、都需要编写对应注释 模块界限清晰,业务逻辑边界分明。不要将非此模块的代码写到公共场所里面。

47510

TypeScript学习笔记(二)—— TypeScript基础

但实际,typescript推荐使用unknown,因为unknown是类型安全的。 任意值(Any)用来表示允许赋值为任意类型。...: number; } let tom: Person = { name: 'Tom', age: 25 }; 可选属性的含义是该属性可以不存在。...当我们引用一个在此类型不存在属性或方法时,就会报错: const foo: number = 1; foo.length = 1; // index.ts:2:5 - error TS2339:...上面的例子中,我们需要将 window 添加一个属性 foo,但 TypeScript 编译时会报错,提示我们 window 不存在 foo 属性。...此时我们可以使用 as any 临时将 window 断言为 any 类型: (window as any).foo = 1; 在 any 类型的变量,访问任何属性都是允许的。

5K20

精读《@types react 值得注意的 TS 技巧》

问题:React.lazy 需要限制返回值是一个 Promise 类型,且 T 必须是 React 组件类型。...方案: function lazy>( factory: () => Promise ): LazyExoticComponent...; T extends ComponentType 确保了 T 这个类型一定符合 ComponentType 这个 React 组件类型定义,我们再将 T 用到 Promise<{ default...用 Interface 定义函数 一般定义函数类型我们用 type,但有些情况下定义的函数既可被调用,也有一些默认属性值需要定义,我们可以继续用 Interface 定义。...更多基础内容可以阅读 精读《Typescript2.0 - 2.9》 与 精读《Typescript 3.2 新特性》,由于 TS 更新频繁,后续 TS 技巧可能继续以阅读源码方式进行,希望这次选用的

50810

angular4实战(4)ngrx

j_bleach/article/details/78161765 ngrx ngrx是angular的状态管理库,与react-redux相同,都是由redux的基础延伸出来...reducer文件夹下,创建index.ts作为各个reducer的汇总,便于之后管理拓展。...combineReducers(reducers); // // export function reducer(state: any, action: any) { // if (environment.production...,才会启动检查策略,这里值的注意的是,这个输入的对象需要变化成一个新对象时,组件才会进行检查,而不是仅仅是改变属性的值,或者增减对象的元素。...ps:这里边个人理解是因为每一个简单类型的值,都会在新开栈上来存储,而对象不同,对象存在同一个指针的引用(是否可以类似深浅拷贝,这里打个问号); 一篇国外的文章帮助理解:https://blog.thoughtram.io

1.1K30

【Vuejs】301- Vue 3.0前的 TypeScript 最佳入门实践

; } // index.ts(2,22): error TS2339: Property 'length' does not exist on type 'string | number'. //...泛型与 Any Ts 的特殊类型 Any 在具体使用时,可以代替任意类型,咋一看两者好像没啥区别,其实不然: // 方法一:带有any参数的方法 function any_func(arg: any):...因为 any可以代替任意类型,所以该方法在传入参数不是数组或者带有 length属性对象时,会抛出异常。...有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个 ?符号。...Promise.reject(error); }); export default service; 为了方便,我们还需要定义一套固定的 axios 返回的格式,新建 ajax.ts: export

4.3K52
领券