javascript - 保证异步js

标签 javascript node.js asynchronous

我的脑袋快要爆炸了。我不知道代码是否是异步的:

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/

相关文章:

c# - 在异步操作运行时继续工作流程

javascript - 运行 javascript 丢失整个页面 DOM

javascript - 在 rails_admin 仪表板上包含自定义 js 文件

javascript - 防止函数触发

node.js - 如何指定从本地 Web 服务器运行哪个 reveal.js 演示文稿?

node.js - Mongoose .js : is it possible to change name of ObjectId?

node.js - 内存中的 V8 BigInt 大小?

C++ win32 异步套接字客户端发送()问题

javascript - ajax成功后撤消preventDefault

c# - 等待 Console.ReadLine()