"Missing semicolon" 异步函数声明错误

"Missing semicolon" error on Async function declaration

在 Vue 应用程序中,我想将 js 函数分组到一个 js 文件中。在 getData.js 中,我有以下内容:

import { collection, getDocs } from 'firebase/firestore/lite';
import { db } from "./firebase/index";
import store from "../store/index"

  
  async getProjects () { 
    const querySnapshot = await getDocs(collection(db, "projects"));
      querySnapshot.forEach((doc) => {
      let project = doc.data()
      project.id = doc.id
      store.state.currentProjectList.push(project)
    });
  }



  export { getProjects } 

我得到“缺少分号”。我声明函数的行出错:async getProjects().

(我知道这不是向商店添加数据的方法,但这仅用于测试目的)

感谢您的帮助!

async getProjects () {method declaration syntax;它只允许 在对象或 class 定义中 .

要创建局部函数,您需要使用函数声明或箭头函数。

async function getProjects () { 

const getProjects = async () => {

(您也可以使用函数表达式,但这与您所拥有的语法相去甚远)。


您在上一行的开头还缺少 semi-colon – import store from "../store/index" 这不是 JS 错误(但如果您使用的是 linter 并且没有',则可能是 linting 错误'别提了)。