2017-03-17 7 views
0

私は、提供されたリンクが到達可能かどうかをチェックし、ブール値を返す関数を持っています。関数はブール値の代わりに未定義を返します

私は多くの機能を実行していますが、リターンステートメントは問題ありませんが、この1つです。なぜか分からないけど、私にとっては非常に奇妙に思える。 $ http関数なのかどうかは分かりませんが、問題ではありません。 コンソールメッセージが表示されますが、ブール値が表示されます。

+0

どのように呼びますか?また、 'success'と' error'は廃止されました(今年以上)、バージョン1.6以降は含まれなくなりました – Igor

答えて

1

これらのreturn文はsuccesserrorに渡される無名関数です彼らはに属し内部機能を、戻ってきています。

isReachable関数は値を返しません。それは単純に要求を実行し、2つのコールバックを渡すことです。

私はコードの残りの文脈を持っていませんが、これはasyncプログラミングであり、あなたはリクエストをしてコールバックを渡しています。

var isReachableCallback = function(data, status, headers, config) { 
    console.log("I See it"); 
    return true; 
}; 

var isNotReachableCallback = function(data, status, headers, config) { 
    console.log("I don't"); 
    return false; 
}; 

$scope.isReachable = function(uri, isReachableCallback, isNotReachableCallback) { 
    var url = 'http://example.com/file.pdf'; 

    return $http({ 
     method: 'GET', 
     url: url 
    }) 
    .success(isReachableCallback) 
    .error(isNotReachableCallback); 
    }; 

ない、私はちょうどで何が起こっているかを説明しようとしている、けれどもこれらは角度世界のベストプラクティスである場合に確認してください。私の意見ではここに行くための最善の方法は、このようなisReachable関数にコールバックを渡しています例。

関連する問題