Node.js stat.isSocket() 方法
stats.isSocket()方法是 fs.Stats 类的内置应用程序编程接口,用于检查 fs.Stats 对象是否描述了套接字。
句法:
stats.isSocket();
参数:此方法不接受任何参数。
返回值:此方法返回一个布尔值,如果 fs.Stats 对象描述了一个套接字,则返回 true,否则返回 false。
下面的示例说明了 Node.js 中 stats.isSocket() 方法的使用:
示例 1:
// Node.js program to demonstrate the
// stat.isSocket() Method
// Accessing fs module
const fs = require('fs');
// Calling isSocket() method from fs.Stats
// class using lstat() method
fs.lstat('./', (err, stats) => {
if (err) throw err;
// console.log(`stats: ${JSON.stringify(stats)}`);
console.log(stats.isSocket());
if (stats.isSocket()) {
console.log("fs.lstats describes a Socket.");
} else {
console.log("fs.lstats does not describe a socket.");
}
});
// Using stat() method
fs.stat('./', (err, stats) => {
if (err) throw err;
// console.log(`stats: ${JSON.stringify(stats)}`);
console.log(stats.isSocket());
if (stats.isSocket()) {
console.log("fs.stats describes a socket.");
} else {
console.log("fs.stats does not describe a socket.");
}
});
输出:
false
fs.lstats does not describe a socket.
false
fs.stats does not describe a socket.
示例 2:
// Node.js program to demonstrate the
// stat.isSocket() Method
// Accessing fs module
const fs = require('fs').promises;
// Calling isSocket() method from
// fs.Stats class
(async () => {
const stat = await fs.lstat('./');
console.log(stat.isSocket());
})().catch(console.error)
输出:
false
注意:以上程序将通过使用node filename.js
命令编译运行,并正确使用 file_path。
参考: https://nodejs.org/api/fs.html#fs_stats_issocket