Как мне вызвать 3 функции, чтобы выполнять их одну за другой?

Нет никакого прямого ответа. Все это зависит от того, что Вы пытаетесь понять. Так как OpenGL является конечным автоматом, иногда он не делает то, что Вы ожидаете, поскольку необходимое состояние не установлено или подобные вещи.

В целом, используйте инструменты как glTrace / glIntercept (для рассмотрения трассировки вызовов OpenGL), gDebugger (для визуализации структур, программ построения теней, состояние OGL и т.д.) и бумага/карандаш :). Иногда это помогает понять, как Вы имеете, устанавливают камеру и где это смотрит, что отсекается и т.д. Я лично положился больше к последнему, чем предыдущие два подхода. Но когда я могу утверждать, что глубина является неправильной затем, что она помогает посмотреть на трассировку. gDebugger также только инструмент, который может использоваться эффективно для профилирования и оптимизации Вашего приложения OpenGL.

Кроме этого инструмента, большую часть времени это - математика, которую понимают превратно люди, и это не может быть понято с помощью любого инструмента. Сообщение на группе новостей OpenGL.org для кода определенные комментарии, Вы никогда не будете разочаровываться.

138
задан luator 27 August 2019 в 08:08
поделиться

1 ответ

Если метод 1 должен быть выполнен после метода 2, 3, 4. Следующий фрагмент кода может быть решением для этого использования Задержанный объект в JavaScript.

function method1(){
  var dfd = new $.Deferred();
     setTimeout(function(){
     console.log("Inside Method - 1"); 
     method2(dfd);	 
    }, 5000);
  return dfd.promise();
}

function method2(dfd){
  setTimeout(function(){
   console.log("Inside Method - 2"); 
   method3(dfd);	
  }, 3000);
}

function method3(dfd){
  setTimeout(function(){
   console.log("Inside Method - 3"); 	
   dfd.resolve();
  }, 3000);
}

function method4(){   
   console.log("Inside Method - 4"); 	
}

var call = method1();

$.when(call).then(function(cb){
  method4();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
0
ответ дан 23 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: