我最近开始使用TypeScript,正在开发一个读取pop3电子邮件的应用程序。 我遇到了一个名为 Nilas 的 pop3 库/服务,并使用了他们的一个例子。 当我尝试使用 tsc 构建应用程序时,我在"then"部分中收到以下错误。 我对TypeScript/Javascript的了解还不够多,无法绕过它:
错误 TS7006:参数"线程"隐式具有"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);
}
});
您正在将 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/import 和 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export 。