検索

ホームページ  >  に質問  >  本文

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

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

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

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

谢谢~

巴扎黑巴扎黑2786日前474

全員に返信(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 であり、ユーザーにそのようなメソッドを提供しません。

    実際には、ノード v7+ が asyncawait をサポートできるのは偶然です。
    次のようなもの:

    リーリー

    返事
    0
  • キャンセル返事