찾다

 >  Q&A  >  본문

node.js - [nodejs] 为什么文件的 api 有同步的,但是数据库操作几乎都是异步的?

nodejs 里面 fs 模块提供了 readFile 和 readFileSync 同步和异步的 api

而 mysql 库里面的 query 都是同步的,而没有 querySync 之类的方法

数据库的读写和文件的 IO 有什么区别?是做不了还是只是保持异步的风格?

谢谢~

巴扎黑巴扎黑2873일 전493

모든 응답(2)나는 대답할 것이다

  • PHPz

    PHPz2017-04-17 15:30:14

    초대해주셔서 감사합니다. 노드의 동기화 인터페이스는 개발자의 편의를 위한 것이며 기본적으로 제공됩니다.

    다른 여러 데이터베이스 인터페이스는 다른 작성자 조직에서 구현한 타사 모듈입니다.

    일반적인 상황에서는 비동기식으로 작성하는 것이 좋습니다. 물론 우아하지 않은 다양한 콜백이 있을 수 있지만 이때는 네이티브에서 제공하는 다양한 동기화 방법을 사용하여 코드를 최적화하는 것이 좋습니다. 우아.

    예: Generator / Promise / Async 및 기타 기본 솔루션.

    또는 Co 등으로 캡슐화된 주류 비동기 처리 솔루션

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 15:30:14

    실제로 프로세스에는 차이가 없지만 readFile은 네이티브 API이고, 공식에서는 이런 동기 호출을 제공하고 있습니다.
    그리고 query은 node-mysql 모듈에서 제공하는 API로 사용자에게 이러한 메소드를 제공하지 않습니다.

    실제로 직접 구현할 수도 있습니다. 마침 Node v7 에서는 asyncawait을 지원할 수 있습니다.
    이런 것:

    으아아아

    회신하다
    0
  • 취소회신하다