非同期コールバックから目的の値を返す方法をnodejs

CONST FS =( 'FS'を必要とする

読み取らせ =()=> { 
    fs.readFile( "./contents/test.json"、(ERR、データ)=> {
         リターンJSON.parse(data.toString())
    })
} 

(() => { 
    せ結果 = 読み取る()
    はconsole.log(結果)   // undefind 
})()

私たちは常にundefind得ることができます上記の文言によると、我々はコールバック関数から必要な値を返すようにしたいです。

次のように解決策は、非常に簡単です。

constのFS =( 'FS'を必要と

読みましょう =非同期()=> {
     返す 新しい約束((解決、拒否)=> { 
        fs.readFile(」./contents/test.json",(err,data)=を> {
             場合(ERR)リジェクト(ERR)
            解決(JSON.parse(data.toString()))
        })
    })

} 

(非同期() => { 
    せ結果 = のawaitリード()
    はconsole.log(結果)     // {MSG: "OK"} 
})()

ちなみに、非同期の問題は解決しました。

おすすめ

転載: www.cnblogs.com/BlackFungus/p/12329550.html