Angularjs Dersleri - #10 $timeout Nedir ? Kullanımı

angularjsyoutube

2 yıl önce 0 yorum

Merhabalar, $timeout ne işe yarar setTimeout dan farkı nedir gibi soruların cevaplarını bu konuda bulabilirsiniz. $timeout angularjs e ait bir fonksiyon ve içinde yapılan işlem view render işlemini tekrarlamasını sağlar $scope.$appy(); gibi düşünebilirsiniz.

Biz eğer setTimeout kullanmış olsaydık, değişikliklerimiz çalışmayacaktı. Örnek olarak bir değişkendeki değeri 2 saniye sonra "avare sivaslıdır"  yapmaya çalışan programı yazalım.

<!DOCTYPE html>
<html lang="en" ng-app="test">
<head>
	<meta charset="UTF-8">
	<title></title>
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
	<script>
		angular.module('test', [])
		.controller('TestCtrl', function ($scope) {
			$scope.data = "Merhaba Dünya";

			setTimeout(function() {
				$scope.data = "avare sivaslıdır";
			}, 2000); // 2000 milisaniye eder 2 saniye

		});
	</script>
</head>
<body ng-controller="TestCtrl">
	{{data}}
</body>
</html>

Yaptığımız doğru olmasına rağmen çalışmadı peki bunu $timeout ile yapsaydık ?

.
.
.
angular.module('test', [])
.controller('TestCtrl', function ($scope, $timeout) {
	$scope.data = "Merhaba Dünya";

	$timeout(function() {
		$scope.data = "avare sivaslıdır";
	}, 2000); // 2000 milisaniye eder 2 saniye

});
.
.
.

Bu sefer çalıştı! aynı işlemler setInterval ile $interval içinde geçerlidir. Bugünkü konu bu kadar kısa oldu ama....

Böylelikle anguarjs eğitim setini bitiriyorum, daha anlatacak çok konu var ama bence bu konular hiç bilmeyen bir insan için yararlı olur diye düşünüyorum. O yüzden ilk başlayanlara özel bir eğitim serisi hazırladım. Yakında çıkan teknolojilere yönelmeyi ve yakın zamanda o teknolojiye ait konular veya örnek uygulamalar yapacağım videolar çekebilirim. Takipte kalıp kanalıma abone olursanız yeniliklerden haberdar olabilirsiniz. Diğer konularda görüşmek üzere kendinize iyi bakın :)

Düşündüklerin nedir ?

Abdurrahman Eker

(1010 Eylül 11111001100)

  • Full Stack Developer at Detaysoft Turkey/Sivas
  • İnternette Avare Kodcu
  • github
  • linkedin
  • youtube
  • Yeni içeriklerden haberdar olmak ister misin ?