2017-04-03 19 views
0

ローカルホストでプロジェクトを実行しようとして問題があります。私が試してみて、ローカルホスト上の私のプロジェクトを開始するときだから、私は、このエラーを与える:node deprecation警告:コールバックのない非同期関数の呼び出しは推奨されていません

Deprecation Error

これは、私のプロジェクトの問題ではありませんこの正確なプロジェクトは、先週働いていたし、今私のプロジェクトのどれが適切に実行することはできません。私のプロジェクトではないことを確認するために、ファイルエクスプローラに入り、chromeでindex.htmlファイルを開いて、index.htmlを実行しました。スクリプトが取り込まれていませんでした。私はこれを解決するために何をすべきかわかりません。誰かがそれが偉大になるのを助けることができれば。

+1

- あなたは何も変更を加えていないしている場合、および避難所先週と比較して行動に変化はないはずです –

+1

これはエラーではなく、警告です。これを修正するには、コールバックなしで非同期関数を使用するコード(独自のライブラリまたはライブラリ内のコード)を使用しないでください。 – Flimzy

+0

@Flimzyが指摘したように、非推奨警告です。おそらくあなたのノードのバージョンが更新されていて、今ではそのような使用法は以前は大丈夫だったが、現在は推奨されていません。最近、ファイルに書き込むクイックスクリプトを書いている間に遭遇しました。私はコールバックを必要としなかったので、私はエラーが出ないようにwriteFileSyncを使用しなければなりませんでした。コード内で類似の用途を探し、必要に応じて調整してください。 – Christopher

答えて

0

ノードv7.8.0がインストールされていて、問題を引き起こしていました。私はそのバージョンをアンインストールし、この奇妙な問題を修正したノードv6.10.1をインストールしました。

+3

私はまだ警告に気をつけ、可能な限りコードを更新することをお勧めします。このような使用法は正当な理由で最新版では推奨されていません。古いバージョンを維持すると、警告は表示されませんが、新しいノードバージョンでのパフォーマンス、セキュリティ、および機能の継続的な改善を利用するのに比べて、長期的な解決策はありません。 – Christopher

1

以前のバージョンに戻っても、問題は長期間解決されず、新しい修正、更新、アップグレードのメリットはありません。呼ばれるその警告の原因となる

一例は、コールバックなしで機能

fs.readFile(path[, options], callback) 

で、警告が表示されます。警告を防ぎ、コールバックが例えばのようになる実装するに

const fs = require('fs'); 
fs.readFile('./good.txt', 'utf8', function read(err, data) { 
     if (err) { 
      throw err; 
     } 
     content = data; 
     // call the next step here 
     console.log(content); // content display 
    it 
    }); 

コールバック関数は読み()、二つのこと、

  1. を行い、それがベースのデータの内容を取得しますエンコーディングでは、この例ではutf8として指定されています。
  2. そして、エラーがあればキャプチャしてエラー(err)をスローします。

注:ファイルは、人間が読めるようにしたい場合はエンコーディングは、必要である

私は、コールバックなしで非同期関数を呼び出すコードを探したい
関連する問題