javascript - TypeScript:库函数的返回类型未知时该怎么办

标签 javascript node.js typescript node-modules

我是 TypeScript 的新手,我不知道在调用库函数/方法时使用什么类型。例如,我在我的 Node.js 项目中使用了 headless chrome 模块。

import puppeteer = require("puppeteer");

async function launchBrowser () {
    const browser = await puppeteer.launch();

    return browser;
}

// In this case I do not know the return type of the launch method. What should I do?

async function launchBrowser (): Promise<any> {
    const browser: any = await puppeteer.launch();

    return browser;
}

我应该使用 any 还是不使用它?

最佳答案

假设你找不到你的库的类型,至少我会让函数返回一个 promise ,因为你知道它是异步的。

较新版本的 TypeScript 引入了 unknown 类型:

async function launchBrowser (): Promise<unknown>

但是你也可以返回 any 的 promise :

async function launchBrowser (): Promise<any>

查看新的unknown 类型的文档:https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html

关于javascript - TypeScript:库函数的返回类型未知时该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53051842/

相关文章:

javascript - Angular 2 路由组件无法正确渲染

javascript - 使用 Knockout JS 将 JS 对象绑定(bind)到 HTML 数据

javascript - VSCode扩展直接使用多步输入

node.js - NodeJS winston 日志文件不会根据大小限制更改

typescript - 确保对象的所有成员都实现某个版本的通用接口(interface)

javascript - 如何在 JavaScript 中将对象传递给动画函数?

javascript - 如何使用 Nodejs + Angular JS 和 MySQL 创建动态 TreeView

数组和对象类型的 typescript 联合

angular - fakeAsync 不等待异步操作完成

node.js - Node JS Html-pdf : create different header footer for first and last page