我有一个Node.js函数来创建Express服务器。
我已将//@ts-check
添加到文件中,以便VSCode减少并对所有内容进行类型检查。
记录此createServer
函数的正确方法是什么?
我想证明它返回一个Promise,该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});
});
});
}
答案 0 :(得分:1)
这为我编译:
//@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。