首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无法读取属性,未定义”错误疑难解答

“无法读取属性,未定义”错误疑难解答
EN

Stack Overflow用户
提问于 2020-11-04 08:34:56
回答 1查看 275关注 0票数 1

我有这个功能

代码语言:javascript
复制
  function getAvailableProviders(tmpDir, snips, processRepo) {
  const octokit = require("@octokit/rest");
  octokit.repos.listForOrg(
    { org: "terraform-providers", type: "public", per_page: 100 },
    (error, result) => {
      result.data.forEach((element) => {
        processRepo(tmpDir, element.name, snips, iterateOnDocFiles);
      });
    },
  );
}

当我运行我的程序时,我从typescript编译器得到这个错误

代码语言:javascript
复制
(node:15713) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'listForOrg' of undefined

问题是,根据octokit文档,定义了repos.listForOrg

https://octokit.github.io/rest.js/v18#repos-list-for-org

我只是想学习(typescript和node),同时重新创建一些被原始开发者抛弃的东西。根据octokit文档,我有我的require语句。它没有接触到api。我还需要在我的节点项目中安装其他东西才能正常工作吗?

EN

回答 1

Stack Overflow用户

发布于 2021-02-26 03:43:17

我认为您需要对您的require稍作修改,并在require后面添加const octokit = new Octokit(); (在您的示例中插入为第3行):

代码语言:javascript
复制
  function getAvailableProviders(tmpDir, snips, processRepo) {
  const { Octokit } = require('@octokit/rest'); // <-- change this line
  const octokit = new Octokit(); // <-- add this line
  octokit.repos.listForOrg(
    { org: "terraform-providers", type: "public", per_page: 100 },
    (error, result) => {
      result.data.forEach((element) => {
        processRepo(tmpDir, element.name, snips, iterateOnDocFiles);
      });
    },
  );
}

请参阅octokit readme

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64672737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档