踩坑: Uncaught (in promise) TypeError: Object(...) is not a function at eval

前言: 在使用UI自动化测试平台时,有不顺手的功能,自己尝试新增functions时,踩到了这个坑里,花了几个小时(昨天还是没弄懂的情况)

作者变优秀的小白

Github关注YX-XiaoBai

爱好Americano More Ice !

QQ学习交流群(new): 811792998

啥坑?

报错Error: Uncaught (in promise) TypeError: Object(...) is not a function at eval

在这里插入图片描述

解决

事出有因: 原来是 exportexport default 导致的问题

那先来科普下这两者的区别

  • 两者都能做的
    • 导出常量、函数、文件、模块等
    • 可在别的文件import 导入使用导出的(常量、函数、文件、模块)
  • 两者不同的地方
    • export可以有多个; export default只能有一个
    • export default为模块指定默认输出,不用知道模块变量名
    • 重点来了!export导出的,你若要import必须加上{}; export default不需要、不能加

写export个demo来感受下

  • test.js
export const num = 6;
export function test() {
	reuturn true;
}
  • import-test.js
// 正确
import { num, test } from 'test'
// 错误
// 报错: TypeError
import num, test from 'test'

export default就不用多说了哈,你懂的

结束语:大家如果遇到什么疑问或者建议的,可直接留言评论!作者看到会马上一一回复!

如果觉得小白此文章不错或对你有所帮助,期待ni的一键三连💫!❤️ni!
  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个 JavaScript 的错误,表示在执行一个 promise 时,抛出了一个错误,并且该错误类型为 "TypeError",具体错误信息为 "object(...) 不是一个函数"。这通常意味着在调用一个对象时,该对象不是一个函数。 ### 回答2: 这个错误通常出现在使用Promise时,调用resolve或reject方法时传入的参数不是函数。Promise是一种处理异步操作的方式,在创建Promise时,我们需要传入一个executor函数,该函数接受两个参数resolve和reject,当异步操作成功或失败时,分别调用resolve和reject方法。如果我们在调用resolve或reject时,传入的不是一个函数,而是一个对象或其他类型的参数,就会报出“uncaught (in promise) typeerror: object(...) is not a function”的错误。 这个错误还可能因为以下原因出现: 1. 在Promise链式调用中调用了一个不是函数的方法或变量,导致报错。 2. 在调用then或catch方法时,没有传入函数,而是传入了其他类型的参数。 解决这个错误的方法是检查异步操作的resolve和reject方法,确保它们接受的参数是函数,如果不是函数,就需要修改代码,传入正确的参数类型。同时也需要确保在Promise链式调用中,调用的方法和变量都是函数类型的。如果出现第二种情况,那么就需要传入一个函数作为参数。在使用Promise时,还需要仔细检查代码,确保Promise使用的正确性,避免出现这种类型的错误。 ### 回答3: 这个错误信息通常出现在JavaScript使用Promise的过程中。当一个Promise对象通过then或catch方法去调用它的回调函数时,如果回调函数不是一个函数类型,就会抛出这个错误。在这种情况下,“object”指的是Promise返回的对象,而“...”是指传递给Promise返回函数的参数。当Promise返回一个对象,并且尝试充当一个函数时,它将无法执行,并且会抛出一个TypeError。这个错误也可能发生在使用React等JavaScript库中。 解决这个错误的方法有很多种。首先,您需要仔细检查Promise的代码,确保回调函数是一个函数类型。如果您使用的是第三方库,那么您需要检查函数签名是否正确,即确保您传递给该函数的参数与API文档中所述的一致。如果您的代码包含自定义Promise实现,则可能有错误或不规范的返回值,您需要确保Promise对象正确实现。 除了检查代码之外,另一种解决方法是升级您的JavaScript运行环境。如果您正在使用过时的浏览器或node.js版本,则可能会出现此错误。请尝试升级到最新版本的浏览器或node.js运行时,以确保您的代码与最新的JavaScript规范兼容。 总之,当您看到“uncaught (in promise) typeerror: object(...) is not a function”时,最好的解决方法是检查代码和运行环境,确保您的JavaScript代码符合规范,并且可以与最新的JavaScript规范兼容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值