首页 > 解决方案 > 我正在尝试从另一个类中调用一个类中的 Javascriptcript 方法,但出现错误

问题描述

我正在尝试从另一个类调用一个类中的 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;

标签: javascriptfunctionclassmethodsconstructor

解决方案


推荐阅读