【发布时间】:2021-11-11 16:26:04
【问题描述】:
我是 TypeScript 的新手,我需要你们的帮助。 我正在尝试使用 typescript 构建一个执行 api 调用的模块 我后来添加到我的主要项目中。所以我先做 使用 ajax 获取请求。但我得到了这个:
(node:1588) UnhandledPromiseRejectionWarning: TypeError: $.ajax is not a function
这是我的打字稿文件:
import * as $ from 'jquery'
class RedditJuice {
afterbeforeStorage:Array<string>;
totalPage:number
currentPage:number
constructor() {
this.afterbeforeStorage = []
this.totalPage = 0
this.currentPage = 0
}
fetchRedditFeed = async (afterTag:string, beforeTag:string) => {
return new Promise<JSON>((resolve, reject) => {
console.log("yey")
if(afterTag == null || undefined || "" && beforeTag == null || undefined || ""){
var url:string = "https://reddit.com/.json"
}
else if(beforeTag != null|| undefined || ""){
var url:string = "https://reddit.com/.json?after=" + afterTag
}
else {
var url:string = "https://reddit.com/.json?after=" + afterTag + "?before=" + beforeTag
}
$.ajax({
url: url,
type: "GET",
success: function(getData){
console.log(getData.data)
resolve(getData.data)
},
error: function(err){
reject(err)
}
})
})
}
fetchPostComments = async (permalink:string) => {
return new Promise<JSON>((resolve, reject) => {
var comment_fetch_url = "https://reddit.com" + permalink + '.json?limit=10'
$.ajax({
type: "GET",
url: comment_fetch_url,
success: function(data) {
resolve(data[1].data)
},
error: function(err){
reject(err)
}
})
})
}
}
const rApi = new RedditJuice()
console.log(rApi.fetchRedditFeed("", ""))
在文件的底部,我尝试使用该类,但随后出现上述错误... 是的,我正在运行由 tsc 编译的 .js 文件。 我还用 npm (@types/jquery) 安装了 jQuery
感谢您的支持^____^
【问题讨论】:
标签: javascript node.js typescript npm