ES2017 async/await
機能が優れています。再帰コールバックを書くことの苦痛を軽減します。しかし、いつかnode39のランタイム警告がunhandled promise rejection
のように表示されます。その理由は、それを聞かせすることは非常に簡単になりますが、コードの例からわかるように、私はすべての単一の関数呼び出しでawait
を入れない限り、私は、async
コードブロックノード内のコードブロックを待つ方法またはツールが必要です
function action1Async() {
return new Promise((resolve, reject) => {
resolve('good name async function')
})
}
async function action2() {
return new Promise((resolve, reject) => {
reject('bad name async function')
})
}
async function main() {
const r1 = await action1Async()
const r2 = action2() // The name is bad, I dont realize it is an async function. Actually throw an exception
return r1 + r2
}
内のあらゆる場所await
を置くことを忘れていたということですコードが間違っています。私は、を発明してasync
ブロック内の行動を制御するESドラフトコミュニティがある理由があると信じています。
正しいコードを書いても問題はありません。しかし、私はそれがあまりにも多くのawait
をコードブロックの中に書くことはあまりにも包括的であると思います。コルーチンのように、コードブロック内のすべての約束を自動的に解決することは可能ですか?いくつかの静的ツールやマジカルJSライブラリでは?あなたが値の配列としてあなたの結果を[OK]を処理している場合には、事前に
おかげ