62

promiseを保持する JavaScript 変数の命名規則があると便利だと思います。私は通常、プログラミング言語の標準を超えた命名規則を好みませんし、支持もしませんが、プロミスが関数の引数として渡されるプログラミング スタイルでは、変数がプロミスを保持しているか「本物」であるかを一目で判断するのが難しいことがよくあります。

私は個人的にpromiseOfFooandpFooを使用しましたが、前者は少し冗長で、後者はハンガリー語からのフラッシュバックを与えてくれます。

一般的に使用される規則はありますか?

4

2 に答える 2

21

これは、それらをどのように使用するかによりますね。

コードが次のようになっている場合:

var imageLoading = loadImage(url); // returns promise
imageLoading.done(showImage);

// imageLoading.done
// imageLoading.error
// imageLoading.then
// imageLoading.success
// imageLoading.fail
// ... whatever your library supports

それなら、プロミスに現在形の動詞のような名前を付けることを提案するかもしれません...

しかし、遅延オブジェクトに依存するライブラリを構築している場合

// accepts a promise
var showImage = function (promise) {
    promise.done(function (img) { /* ...... */ });
};

次に、どのメソッドが promise を取得し、どのメソッドが取得しないかを理解している限り、変数を名詞として命名することに特に問題はありません。

var image = loadImage(url); // returns promise
showImage(image);           // acts on promise

これで、インターフェイスは非常にきれいになり、100% 手続き型に見えるコードを記述できます。...buuuut、promise を使用する関数/メソッドとオブジェクトを使用する関数/メソッドを知る必要があります。

プロミスをオブジェクト メソッド内でコールバックとして渡す場合は、その特定の状況のコンテキスト内で 適切な名前を付けることができますpromisetweetLoadingdataParsing

の定義についてはshowImage、私が選んだパラメータは完全に と呼ばれpromiseています。そのため、その関数で作業を行っている場合、または一連のものをデバッグする必要がある場合は、それを見た瞬間に 1 秒かかったことがわかります。お約束のオブジェ。

于 2013-01-10T21:53:22.800 に答える
0

私は公の慣習を知りませんが、私自身のコードで以下を使用しました:

  • var dfrd:遅延オブジェクト(同じスコープで2つ以上が必要だったことを思い出せません)
  • var p: 約束
  • var p_foo:いくつかの名前付き約束の1つ
  • var promises:Promisesを含む配列またはプレーンオブジェクト

例外は、jqXHR私が名前を付けるオブジェクトですvar jqXHR(ここでも、同じスコープ内に2つ以上が必要だったことを思い出しません)。

于 2013-01-10T21:37:00.307 に答える