如何告诉 JSDoc 一个方法 returns 一个包含 class 类型的对象?
How to tell JSDoc that a method returns an object containing a class type?
我有一个 Node.js 函数来创建一个 Express 服务器。
我已将 //@ts-check
添加到文件中,以便 VSCode 对所有内容进行 lints 和类型检查。
记录此 createServer
函数的正确方法是什么?
我想证明它 returns 一个 Promise,它解析一个包含 Express 实例 (app
) 和 Number (port
)
的对象
如果这是一个反模式,那也很高兴知道。
//@ts-check
const express = require('express');
/**
* @param {Number} port
* @returns {Promise}
*/
function createServer(port) {
return new Promise((resolve, reject) => {
const app = express();
server = app.listen(port, () => {
resolve({app, port});
});
});
}
这为我编译:
//@ts-check
const express = require('express');
/**
* @param {Number} port
* @returns {Promise<{app: import("express").Express, port: number}>}
*/
function createServer(port) {
return new Promise((resolve, reject) => {
const app = express();
const server = app.listen(port, () => {
resolve({app, port});
});
});
}
有关详细信息,请参阅 the documentation page。
我有一个 Node.js 函数来创建一个 Express 服务器。
我已将 //@ts-check
添加到文件中,以便 VSCode 对所有内容进行 lints 和类型检查。
记录此 createServer
函数的正确方法是什么?
我想证明它 returns 一个 Promise,它解析一个包含 Express 实例 (app
) 和 Number (port
)
如果这是一个反模式,那也很高兴知道。
//@ts-check
const express = require('express');
/**
* @param {Number} port
* @returns {Promise}
*/
function createServer(port) {
return new Promise((resolve, reject) => {
const app = express();
server = app.listen(port, () => {
resolve({app, port});
});
});
}
这为我编译:
//@ts-check
const express = require('express');
/**
* @param {Number} port
* @returns {Promise<{app: import("express").Express, port: number}>}
*/
function createServer(port) {
return new Promise((resolve, reject) => {
const app = express();
const server = app.listen(port, () => {
resolve({app, port});
});
});
}
有关详细信息,请参阅 the documentation page。