サービス中のファクトリ関数を呼び出そうとしています。anglejsでサービス中のファクトリ関数を呼び出す
私の工場は、次のようになります。
function LMSAppFactory($http) {
var ajaxRequest = 'processRequest.jsp?';
return {
getTableData: getTableData,
};
function getTableData(params, callback) {
alert(1);
$http.get(ajaxRequest + 'requestType=getRecords'+params+'&value=10').then(function (response) {
callback(response.data[1].LMSRecords, response.data[0].LMSRecordsCount);
});
}
}
マイサービス
$scope.branchSearch = function (code){
alert(code);
getData: LMSAppFactory.getTableData;
}
私はbranchSearch
関数内で値を取得しますが、工場の機能に呼び出していないです。
私の間違いはどこですか?
この構文は 'getData:LMSAppFactory.getTableData'とは何ですか?これはファクトリ関数を呼び出さない。代わりに、 'LMSAppFactory.getTableData(code)'のように直接呼び出す必要があります。 – Aruna
本当にありがとうございますが、どうしてあなたはまだコールバックの仕組みに従っていますか?プロミスベースのワークフローははるかに優れています(クイックGoogle検索でその情報が得られます)。 '$ http.get'コールを返すだけで、あなたのサービスから約束を返すことができます。いずれにせよ、あなたのネットワーク要求が投げるかもしれないエラーを処理しないでください。 – ste2425