Я пытаюсь вызвать метод Javascriptcript в классе из другого класса, и я получаю ошибку

#javascript #function #class #methods #constructor

Вопрос:

Я пытаюсь вызвать метод Javascriptcript в классе из другого класса, и я получаю ошибку

 error { error: 'slackService.getAccessData is not a function' }  

В slackController.js ниже я вызвал метод из slackServices.js говоря slackService.getAccessData(code)

Найди мою slackcontroller.js ниже

 import slackService from "../services/SlackService.js"  class SlackController {  async handleCallback(req, res) {  try {  const code = req.query.code;  console.log(code);  if (code) {  const { email, userData } = await slackService.getAccessData(code);   const { slack_user_id } = userData;  res.redirect("/")  } else {  res.redirect("/");  } } catch (e) {  console.log("error")  console.log({error: e.message});  res.json({ error: e.message });   }  

} }

экспорт нового SlackController по умолчанию();

найди мою slackService.js ниже

 import Client from './WebClient.js'; import config from '../config/slack.js'; import { createReadStream } from 'fs';  class SlackService {  async getAccessData(code) {  const data = await this.getAccessToken(code);  const user = await this.getUserInfo({   token: data.access_token, user_id: data.authed_user.id   });    console.log(data, user);  return this.format(data, user);    }   async getUserInfo({ token, user_id }) {  const wc = new Client(token);  const { user } = await wc.users.info({ user: user_id });  return user;  }   async getAccessToken (code) {  const wc = new Client();  // return await wc.accessToken(config(code));  return await wc.accessToken(code);  }  } } export default SlackService;  

Комментарии:

1. Вместо экспорта класса экспортируйте экземпляр класса. вы не можете вызывать статические методы none из класса, не создав его сначала.

2. Служба будет пустой, так как вы не создадите ее экземпляр

3. Я этого не понял, вы имеете в виду «я не могу вызвать статический метод»? @JarneKompier

4. Если вместо того, чтобы делать export default SlackService то, что вы делаете export defualt slackService = new SlackService(); , это должно сработать, я верю.

5. Хорошо, может кто-нибудь, пожалуйста, сказать мне, как его создать? @Винс,