Просмотр исходного кода

Add a `waitFor` helper to the ide object

Shane Kilkelly 8 лет назад
Родитель
Сommit
3849bcfb40
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      services/web/public/coffee/ide.coffee

+ 14 - 0
services/web/public/coffee/ide.coffee

@@ -229,4 +229,18 @@ define [
 				ide.$scope.project.publicAccesLevel = data.newAccessLevel
 				$scope.$digest()
 
+		ide.waitFor = (fn, callback, timeout) ->
+			sleepTime = 500
+			iterationLimit = Math.floor(timeout / sleepTime)
+			iterations = 0
+			do tryIteration = () ->
+				if iterations > iterationLimit
+					return
+				iterations += 1
+				result = fn()
+				if result?
+					callback(result)
+				else
+					setTimeout(tryIteration, sleepTime)
+
 	angular.bootstrap(document.body, ["SharelatexApp"])