我的脑袋快要爆炸了。我不知道代码是否是异步的:
const fs = require('fs');
function Fn(file){
return new Promise((resolve, reject) => {
if(fs.existsSync(file)){
resolve('Yes');
}else{
reject('No');
}
});
}
Fn('file.txt')
.then(result => {
console.log(result);
})
.catch(err => {
console.log(err);
})
所有的东西都是用Promise
包裹的,所以应该是异步的。但在 promise 中我有同步方法 fs.existsSync
。
或者,如果是 promise,那么 promise 中的内容并不重要 - 它会自动异步?
最佳答案
existsSync
是同步的,但是执行需要一些时间。比方说,一秒钟。所以你的 promise 将在一秒钟后得到解决,因为它是一个 promise ,所以它是非阻塞的。 IMO,这是一种使同步代码成为非阻塞的方法。
关于javascript - 保证异步js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48298596/