我正在浏览此博客,以创建signature
他在这里使用了这样的虚空
export const start = (port: number): Promise<void> => {
const server = http.createServer(app);
return new Promise<void>((resolve, reject) => {
server.listen(port, resolve);
});
};
我不确定他们为什么在这里使用void? void通常意味着该函数将不返回任何内容。
而我认为promise总是会返回一些东西(即它将解决或拒绝)。
那么在这里使用void的目的是什么?
答案 0 :(得分:1)
类型是指承诺解析为的值。如果解析为空,则该类型为空。例如:
new Promise<string>((resolve, reject) => {
resolve("hello"); // resolves into a string
});
new Promise<boolean>((resolve, reject) => {
resolve(true); // resolves into a boolean
});
new Promise<void>((resolve, reject) => {
resolve(); // resolves into undefined/nothing/void
});
大概server.listen()
方法不使用任何参数调用回调,因此promise的类型为空。