2013-08-12 3 views
0

지금까지는 AUI 호출이 포함 JavaScript 내에서 동 기적으로 처리된다고 가정했습니다. 지금은 다음과 같은 문제가 발견 :이상한 AUI 동작

Liferay.on('allPortletsReady', 
     function() { 
      AUI().use('node', function(A) { 
       // (1) --> set some global var here 
      }); 
      // (2) --> use global var here 
     } 
    ); 

내가 실행 순서를 예상을 (1) (2)

나는 (2) (2) (2) (1) 있어 (1) (1)

나는 트리플 실행으로 살 수 있었지만 그 역순을 설명 할 수는 없다.

문제

.use()는 비동기 적으로 호출되고, 모든

답변

0

먼저 ... 쉽게 AUI 샌드 박스 내에서 (2) 이동하여 해결,하지만, 난 여전히 궁금했다. AUI().use('node', function(A) {...});을 호출 할 때 노드 모듈은 (function(A) {...}) 함수가 호출되기 전에로드되고 연결되어야합니다.

노드 모듈이로드되는 동안 use() 다음의 코드 줄이 호출되고 모듈이 성공적으로로드되고 연결되면 함수 (function(A) {...})가 호출됩니다. http://yuilibrary.com/yui/docs/yui/#understanding-yuiuse

(AUI는 YUI의 확장)

이것은 또한 도움이 될 수 있습니다 : Getting started with YUI3 and AlloyUI

여기 .use()에 대한 설명서를 참조하십시오