2017-01-19 8 views
0

エラーを処理するメソッドを持つOperationクラスがあります。これらのケースは、クライアント側ではなくAPI側で行われます。このフローは次のように動作します。私はを持っています。Operationが実行され、結果が返されます。であり、エラーアレイを取得してユーザーに表示するときに、エラー配列が空です

if (res.error) { 
    this.addError(HTTPResponse.STATUS_FORBIDDEN, res.error) 

    return false 
} 

addErrorOperationクラスの内部:

addError(code, message) { 
    this.errors.push({code, message}) 
} 
<class>Controller<class>Operationした後のいずれかでその使用の例は、 <class>Operationの内部に、あろうエラーまたは返された結果

表示をインスタンス化

<class>Controllerには、エラーがあることを確認した後、リストから最初のものを取得します。

実行時、私は Operation内のこれらの方法の内側にログアウトと addError()が実行された後、 errors配列が移入されることが確認されたが、

getFirstError() { 
    return this.errors[0] 
} 

OperationクラスからgetFirstError方法に対応

if (!pages) { 
    let error = linkedAccountOperation.getFirstError() 

    throw new HttpException(error.message, error.code) 
} 

getFirstError()、それはundefinedです。

答えて

0

getFirstError()メソッドがOperationクラスにあると言っています。しかし、それは静的エラー変数を持つ静的メソッドですか? Operationクラスを何回かインスタンス化しますか?私の意見では、ちょうどコンテキストエラー:)

+0

操作クラスは、エンドポイントごとに一度インスタンス化されます。同じエンドポイント - コントローラー - はクラスをインスタンス化し、名前、姓などのデータをOperationクラスに与え、そのエンドポイントに必要なメソッドを実行します。この同じメソッドは常にエラーを処理しますそれらが 'addError'と' getFirstError'を使ってfalseを返す場合 – mfgabriel92

+0

提案はありますか? – mfgabriel92

+0

ハムは全体のプロセスを見るのがかなり難しいですが、エラー変数のゲッターとセッターを入れようとしましたか?それはいつも良い方法論と、おそらくテストするのに便利でしょうか? – Mech45

関連する問題