2017-12-19 7 views
4

ここにasyncをプリペンドする利点は何ですか?約束を返す関数にasyncをプリペンドする利点は何ですか?

async function asyncFunc() { 
    return new Promise (function (resolve, reject) { 

    }); 
} 
+0

ん約束/ asyncFuncは、そうでない場合は、その本当にあなたの機能 –

+4

一切のための非同期キーワードを使用する必要がない、非同期で要求が含まれています。 – Bergi

+0

@Bergi - 私はそれが約束を返すことを素早く視覚化するのが好きです。使用可能な「パブリック」メソッドをスキャンしたいので、すべての関数をIDEで折りたたんだ方がいいです。 – VtoCorleone

答えて

5

asyncの唯一の利点は、関数が(常に)約束を返すことを視覚的に示すマーカーであり、returnステートメントの関数本体をスキャンする必要はありません。行がasync functionの場合、一貫性を保つのに役立ちます。それとは別に

:それから、ゼロの利益が絶対にあります。追加のPromise.resolve()呼び出しで戻り値をラップするのと同じくらい効果的です。あなたの関数本体のみの約束(new Promiseか、別の関数呼び出しのいずれか)とreturnの文で構成されている場合は、私がasyncを使用しないことをお勧めします。

一般に、関数本体にawait式が含まれていない場合は、おそらくasyncキーワードは必要ありません。あなたが約束拒否につながるはずのコードで発生した例外があります場合でも、機能は常には約束を返すことを確認するときのルールからの例外があります。

3

は、私はあなたがあなたのpromise関数内awaitを使用している場合を除き、ここでasyncを使用してのいずれかの利点があるとは思いません。

async function asyncFunc() { 
    // no await here 
} 

async/await

は、連携して使用され、他のないものを使用することのない点は存在しません。

+2

「*約束する」機能とは何ですか? – Bergi

+2

'await'がPromiseエグゼキュータ内で使用されている場合、' async'を 'asyncFunc'に追加すると助けになりません - ' async'で 'await'を直接使用したい場合にのみ' async'です** **必要** –

+0

用語が明確でないことがあります。私の答えを修正する。 –

関連する問題