我要记录使用另一个模块编写的函数,该模块使用http.ClientRequest类型的参数。我想要这样的东西,但是不起作用:
/**
* @param {ClientRequest} req
*/
function setToken(req) {
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过@param {http.ClientRequest},但是没有用。
更新:
基本上,我通过导入所需的模块解决了该问题import http from "http";。但是,我不想导入它,因为此模块不使用http module而是提供辅助功能。
无处不在我以这种方式在javascript中看到了单例的实现:
var Singleton = (function () {
var instance;
function createInstance() {
var object = new Object("I am the instance");
return object;
}
return {
getInstance: function () {
if (!instance) {
instance = createInstance();
}
return instance;
}
};
})();
Run Code Online (Sandbox Code Playgroud)
在这里我们可以看到它返回一个函数,我们必须调用它来获取一个对象.问题:为什么我们不能这样写:
var Singleton = (function () {
function privateMethod() {
...
}
return {
publicMethod1: function() { },
publicMethod2: function() { },
};
})();
Run Code Online (Sandbox Code Playgroud)
有人会说理由是继承支持.但是,我没有看到任何区别.无论如何,Singleton现在是一个对象.
我想将用户重定向到我服务器中的另一个 url,但我不想硬编码res.redirect('/hello_world'). 相反,我只想指定指定控制器的处理程序 url,例如res.redirect(HelloWorldController.handlerName.url)HelloWorldContoller 所在的位置
@Controller()
export class HelloWorldController {
@Get('hello_world')
handlerName(): string {
return 'Hello World!';
}
}
Run Code Online (Sandbox Code Playgroud)