javascript - Javascript - 在Promise.then()中,jQuery函数不可用

下面是index.html的一部分,评论数据从Firebase下载,并通过库显示在前端。

Uncaught (in promise) TypeError : $(...).comments is not a function

为什么发生这种情况? jquery函数如何正确地使用Firebase中的数据?

第一个代码


<script>


window.onload = () => {


 $("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 const db = firebase.firestore()


 db.collection("projects").get().then(querySnapshot => {


 ...


 })


}


</script>



第二码


<script>


window.onload = () => {


 const db = firebase.firestore()


 db.collection("projects").get().then(querySnapshot => {


 $("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 })


}


</script>



这是我网站文件结构的一部分


/public <--- Hosting on Firebase


 index.html


 /forum


 index.html <--- the index.html shown in the question above


 /css


 jquery-comment.css <--- from the jQuery library


 /js


 jquery-comment.js <--- from the jQuery library




时间: 原作者:


<script>


window.onload = () => {


 const db = firebase.firestore()


 // use a closure


 const jq = $;


 db.collection("projects").get().then(querySnapshot => {


 jq("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 })


}


</script>

原作者:
...