【问题标题】:TypeScript read pop3 emailTypeScript 读取 pop3 电子邮件
【发布时间】:2020-06-20 19:52:27
【问题描述】:

我最近开始使用 TypeScript,并且正在开发一个阅读 pop3 电子邮件的应用程序。我遇到了一个名为 Nylas 的 pop3 库/服务,并使用了他们的一个示例。当我尝试使用 tsc 构建应用程序时,我在“then”部分收到以下错误。不过,我对 TypeScript/Javascript 的了解还不够,无法绕过它:

错误 TS7006:参数 'threads' 隐含地具有 'any' 类型。

这是我的代码示例:

import { Email, IEmail } from "./domain/Email"

import Nylas from "nylas";

const CLIENT_ID = 'xxxxxxxxxxxxxxxx';
const CLIENT_SECRET = 'yyyyyyyyyyyyyyyyyyyy';
const ACCESS_TOKEN = 'zzzzzzzzzzzzzzzzzzzzzzzzzz';

Nylas.config({
    clientId: CLIENT_ID,
    clientSecret: CLIENT_SECRET,
});
 
const nylas = Nylas.with(ACCESS_TOKEN);

 // List the 5 most recent unread email threads and print their subject lines
nylas.threads.list({unread: true, limit: 5}).then(threads =>{
  for (let thread of threads) {
      console.log(thread.subject);
  }
});

【问题讨论】:

    标签: typescript pop3


    【解决方案1】:

    您正在将 nylas 作为原始模块导入,这给了它any 类型。

    你应该像这样导入它:

    import Nylas from "nylas";
    

    您可能写了require('nylas'),因为import * as Nylas from "nylas"; 不起作用。这是因为 nylas 使用 module.exports =,而不是 export default(它不使用 ES6 样式导出)。

    您可以在此处阅读有关默认导出和不同类型的导入语句的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/importhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export

    【讨论】:

    • 这很有帮助。我现在收到以下错误:错误 TS2339:“RestfulModel”类型上不存在属性“主题”。
    • 如果你改用thread.attributes()["subject"],它可能会起作用,但我对 Nylas 的了解还不够。如果这不起作用,您可能会通过打开一个新问题来获得更多运气,因为错误看起来与 Nylas 本身有关,而不是与 TypeScript 相关。
    • 感谢@yeerk 的建议。我想你可能是对的。我需要一些 Nylas 的支持。我在上面尝试了您的评论,它确实构建了,但控制台输出不是我所期望的。但我确实在途中学到了一些要点。
    • 没问题@user1572,很乐意为您提供帮助!如果我的回答解决了您的问题,您会考虑将其标记为正确答案吗?
    猜你喜欢
    • 2018-06-21
    • 2017-09-23
    • 2013-11-17
    • 2010-09-07
    • 1970-01-01
    • 2022-01-17
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多