gpt4 book ai didi

javascript - 从实例对象调用异步方法会出现错误 : TypeError: Object(. ..) 不是函数

转载 作者:行者123 更新时间:2023-12-02 21:39:10 25 4
gpt4 key购买 nike

我目前正在开发一个用于教育目的的应用程序,并面临一个可能微不足道但无法解决的问题。

所以基本上我试图从外部 API 获取一些数据(使用 Axios)。我已将代码划分为要导出到 index.js 文件的模块,并从中实例化新对象并调用我的异步方法 getResults() 作为返回应该给我来自 API 的数据。从那时起出现错误

TypeError: Object(...) is not a function.

这里是一个示例代码:

模块Search.js:

export default class Search {
constructor(query, num) {
this.query = query;
this.num = num;
}

async getResults() {
const url = 'API_URL';
const key = 'API_KEY';
try {
const res = await axios(`${url}?query=${this.query}&number=${this.num}&apiKey=${key}`);
this.result = res.data.results;
console.log(this.result);
} catch (error) {
console.log(error);
}
}
}

这是index.js 文件:

import Search from "./models/Search";
const s = new Search('cheese', 2);
s.getResults()

最后控制台出现错误:

TypeError: Object(...) is not a function
at Search._callee$ (Search.js:42)
at tryCatch (runtime.js:65)
at Generator.invoke [as _invoke] (runtime.js:303)
at Generator.prototype.<computed> [as next] (runtime.js:117)
at asyncGeneratorStep (Search.js:5)
at _next (Search.js:7)
at eval (Search.js:7)
at new Promise (<anonymous>)
at Search.eval (Search.js:7)
at Search.getResults (Search.js:65)

我可能在这里做错了什么,任何帮助和见解将不胜感激。谢谢。

最佳答案

await axios(`${url}?query=${this.query}&number=${this.num}&apiKey=${key}`);

这是创建错误的行,

axios 是一个您尝试用作函数的对象

您可能希望使用 axios 提供的 get/post 方法来调用您的端点

await axios.get(`${url}?query=${this.query}&number=${this.num}&apiKey=${key}`);

您可以看看您想如何使用axios https://github.com/axios/axios

关于javascript - 从实例对象调用异步方法会出现错误 : TypeError: Object(. ..) 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60410467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com