待機ありとなしの返品に違いはありますか

Twois

await演算子を使用する必要があると考えていますが、次の2つの場合の違いは何ですか。

1

public async updateOne(Model, doc, errorMsg?){
    return await Model.findOneAndUpdate({'_id': doc._id}, {'$set': doc}, {upsert:true, new: true}).lean().exec();
}

public updateOne(Model, doc, errorMsg?){
    return Model.findOneAndUpdate({'_id': doc._id}, {'$set': doc}, {upsert:true, new: true}).lean().exec();
}

結果に違いはないと思いますが、promiseが返されるため、async awaitを使用する必要はまったくないと思います。また、async関数内でupdateOne関数を呼び出すときにawait演算子を使用するだけで済みます。

マット

Oyverusが答えたように、結果に違いはありませんが、async関数を使用すると別のPromiseが作成されます。それぞれの場合に、いくつかの大まかな例を追加しました。

async updateOne(){ return await Model.findOneAndUpdate(...) }Promiseコードで結果を使用すると次のようになります。

return new Promise((resolve, reject) => {
  Model.findOneAndUpdate(...).then(resolve, reject)
})

次にasync updateOne(){ return Model.findOneAndUpdate(...) }あります:

return new Promise(resolve => resolve(Model.findOneAndUpdate(...))

平野updateOne(){ return Model.findOneAndUpdate(...) }は:

return Model.findOneAndUpdate(...)

私は可能な場合はプレーンリターンを使用する傾向があり/*async*/ますが、ドキュメント化のためにコードにを残します。

/*async*/ write(){
  return this.db.write()
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

これらの非同期/待機コードに違いはありますか?

分類Dev

PNGとBMPの画像形式の間に品質の違いはありますか?

分類Dev

ChromeとFirefoxのYouTubeビデオの品質に違いはありますか?

分類Dev

PublicAPIAttributeとUsedImplicitlyAttributeの間に機能的な違いはありますか?

分類Dev

最後の非同期呼び出しを待つことと、それを返すこととの間に違いはありますか?

分類Dev

待機/通知ありとなしの同期ブロックの違いは?

分類Dev

INTERSECTとINNERJOINの間に根本的な違いはありますか?

分類Dev

ifとif-elseの間にかなりの違いはありますか?

分類Dev

-OutVariableと変数の割り当ての間に機能的な違いはありますか?

分類Dev

「==」と「is」に違いはありますか?

分類Dev

部分適用と関数の返送に違いはありますか?

分類Dev

new()と「通常の」割り当てに違いはありますか?

分類Dev

反復するとき、zipとizipの間に機能的な違いはありますか?

分類Dev

Rails 5では、「model.save」と「model.errors.empty」の間に機能的な違いはありますか?

分類Dev

F#のArray.replicateとArray.createの間に機能的な違いはありますか?

分類Dev

voidを返すこととCompletionStage <Void>を返すことの間に違いはありますか?

分類Dev

AtomicInteger.updateAndGet()とAtomicInteger.accumulateAndGet()の間に機能的な違いはありますか?

分類Dev

> *:first-childと>:first-childの間に機能的な違いはありますか?

分類Dev

[、] 2d配列と[] []配列の間に機能的な違いはありますか?

分類Dev

明示的なoperator = callと= operatorに違いはありますか?

分類Dev

`;`と `&&`と `|`の間に違いはありますか?

分類Dev

C ++に待機可能なキューはありますか?

分類Dev

Java ArrayDequeのpop()とremove()の間に重要な違いはありますか?

分類Dev

MaterialButtonと単純なButtonの違いはありますか?

分類Dev

`pk`と` id`のどこかに違いはありますか?

分類Dev

括弧なしで「raise exception()」と「raise exception」に違いはありますか?

分類Dev

括弧なしで「raise exception()」と「raise exception」に違いはありますか?

分類Dev

Pythonの「string」と「string」の間に違いはありますか?

分類Dev

WorkbookConnectionとそのODBCConnectionの更新に違いはありますか?

Related 関連記事

  1. 1

    これらの非同期/待機コードに違いはありますか?

  2. 2

    PNGとBMPの画像形式の間に品質の違いはありますか?

  3. 3

    ChromeとFirefoxのYouTubeビデオの品質に違いはありますか?

  4. 4

    PublicAPIAttributeとUsedImplicitlyAttributeの間に機能的な違いはありますか?

  5. 5

    最後の非同期呼び出しを待つことと、それを返すこととの間に違いはありますか?

  6. 6

    待機/通知ありとなしの同期ブロックの違いは?

  7. 7

    INTERSECTとINNERJOINの間に根本的な違いはありますか?

  8. 8

    ifとif-elseの間にかなりの違いはありますか?

  9. 9

    -OutVariableと変数の割り当ての間に機能的な違いはありますか?

  10. 10

    「==」と「is」に違いはありますか?

  11. 11

    部分適用と関数の返送に違いはありますか?

  12. 12

    new()と「通常の」割り当てに違いはありますか?

  13. 13

    反復するとき、zipとizipの間に機能的な違いはありますか?

  14. 14

    Rails 5では、「model.save」と「model.errors.empty」の間に機能的な違いはありますか?

  15. 15

    F#のArray.replicateとArray.createの間に機能的な違いはありますか?

  16. 16

    voidを返すこととCompletionStage <Void>を返すことの間に違いはありますか?

  17. 17

    AtomicInteger.updateAndGet()とAtomicInteger.accumulateAndGet()の間に機能的な違いはありますか?

  18. 18

    > *:first-childと>:first-childの間に機能的な違いはありますか?

  19. 19

    [、] 2d配列と[] []配列の間に機能的な違いはありますか?

  20. 20

    明示的なoperator = callと= operatorに違いはありますか?

  21. 21

    `;`と `&&`と `|`の間に違いはありますか?

  22. 22

    C ++に待機可能なキューはありますか?

  23. 23

    Java ArrayDequeのpop()とremove()の間に重要な違いはありますか?

  24. 24

    MaterialButtonと単純なButtonの違いはありますか?

  25. 25

    `pk`と` id`のどこかに違いはありますか?

  26. 26

    括弧なしで「raise exception()」と「raise exception」に違いはありますか?

  27. 27

    括弧なしで「raise exception()」と「raise exception」に違いはありますか?

  28. 28

    Pythonの「string」と「string」の間に違いはありますか?

  29. 29

    WorkbookConnectionとそのODBCConnectionの更新に違いはありますか?

ホットタグ

アーカイブ