错误1023堆栈溢出as3-signals-v0.9-BETA



我在一个简单的幻灯片应用程序中使用as3-signals-v0.9-BETA。在我的信号处理程序中,我基于某些条件再次调度相同的信号。

应用程序在几个小时后对信号调度方法抛出异常。下面是堆栈跟踪:

错误:

Error #1023: Stack overflow occurred.
     at com.chetansachdev.components::SlideDeck/onNextSlidePleaseEvent()[D:cb-trunkSolutionsComponentsSlidelibsrccomchetansachdevcomponentsSlideDeck.as:75]
     at org.osflash.signals::Slot/execute()[C:UsersRobertDocumentsFlashOSFlashsignalsas3-signalssrcorgosflashsignalsSlot.as:87]
     at org.osflash.signals::OnceSignal/dispatch()[C:UsersRobertDocumentsFlashOSFlashsignalsas3-signalssrcorgosflashsignalsOnceSignal.as:125]
     at com.chetansachdev.components::SlideDeck/onNextSlidePleaseEvent()[D:cb-trunkSolutionsComponentsSlidelibsrccomchetansachdevcomponentsSlideDeck.as:89]
     at org.osflash.signals::Slot/execute()[C:UsersRobertDocumentsFlashOSFlashsignalsas3-signalssrcorgosflashsignalsSlot.as:87]
     at org.osflash.signals::OnceSignal/dispatch()[C:UsersRobertDocumentsFlashOSFlashsignalsas3-signalssrcorgosflashsignalsOnceSignal.as:125]
     ...
     ...

方法:

mysignal.add(mySignalHandler);
function mySignalHandler():void
{
    if(condition)
    {
       // do something here..
    }
    else
    {
        mysignal.dispatch();
    }
}

能不能有人告诉我,怎么了。当我从信号处理程序调度时,堆栈被创建了吗?(我没有直接调用该方法,我正在调度一个信号)。

这是一个无限循环。就像这样写:

function inifityAndBeyond(){
    infinityAndBeyond();
}

换句话说,在信号的处理程序中调度相同的信号是没有意义的。

相关内容

  • 没有找到相关文章

最新更新