मुझे आश्चर्य है कि प्रदाता में इंजेक्शन देने का कोई क्लीनर तरीका है या नहीं। जैसा कि मैं अब कर रहा हूं, मुझे http = null होना है, और उसके बाद http = $ http को $ में सेट करें ताकि मैं इसे अपने कार्यों में उपयोग कर सकूं।कोणीय प्रदाता में निर्भरता इंजेक्शन
do ->
githubProvider =() ->
http = null
getUser =(username) ->
return http.get("https://api.github.com/users/" + username)
.then (response)->
return response.data
getRepos =(user) ->
return http.get(user.repos_url)
.then (response)->
return response.data
getRepoDetails =(username, repoName) ->
return http.get("https://api.github.com/repos/" + username + "/" + repoName)
.then (response)->
return response.data
getRepoCollaborators =(repo) ->
return http.get(repo.contributors_url)
.then (response)->
return response.data
this.$get =["$http", ($http) ->
http = $http
return {
getUser: getUser,
getRepos: getRepos,
getRepoDetails: getRepoDetails,
getRepoCollaborators: getRepoCollaborators
}]
return
app = angular.module("githubViewer")
app.provider("githubProvider", [githubProvider])
return
जावास्क्रिप्ट:
(function() {
var app, githubProvider;
githubProvider = function() {
var getRepoCollaborators, getRepoDetails, getRepos, getUser, http;
http = null;
getUser = function(username) {
return http.get("https://api.github.com/users/" + username).then(function(response) {
return response.data;
});
};
getRepos = function(user) {
return http.get(user.repos_url).then(function(response) {
return response.data;
});
};
getRepoDetails = function(username, repoName) {
return http.get("https://api.github.com/repos/" + username + "/" + repoName).then(function(response) {
return response.data;
});
};
getRepoCollaborators = function(repo) {
return http.get(repo.contributors_url).then(function(response) {
return response.data;
});
};
this.$get = [
"$http", function($http) {
http = $http;
return {
getUser: getUser,
getRepos: getRepos,
getRepoDetails: getRepoDetails,
getRepoCollaborators: getRepoCollaborators
};
}
];
};
app = angular.module("githubViewer");
app.provider("githubProvider", [githubProvider]);
})();
आपको प्रदाता की आवश्यकता क्यों है, यहां कोई कॉन्फ़िगरेशन नहीं है – calebboyd
हां, मुझे प्रदाता होने की आवश्यकता नहीं है, लेकिन मेरा प्रश्न प्रदाताओं में इंजेक्शन करने का उचित तरीका जानने का प्रयास करने का अधिक प्रयास था। – user4029197