未设定(在承诺中)未定义的错误,仅限setInterval Chrome

时间:2016-11-01 18:35:50

标签: javascript google-chrome promise

控制台不断为我的JS抛出一个Uncaught (in promise) undefined,它没有直接实现promises。我有一个幻灯片使用转换,它将在第一个图像中工作,然后在尝试更改为下一个图像后中断。在很多console.log-ging之后,一旦它出现在我的setInterval块中,就会抛出错误:

window.setInterval(function() { //error happens once this line is hit

    lastPos = pos;
    pos++;

    // Wrap to beginning if necessary.
    if (pos >= $bgs.length)
        pos = 0;

    // Swap top images.
    $bgs[lastPos].classList.remove('top');
    $bgs[pos].classList.add('visible');
    $bgs[pos].classList.add('top');


    // Hide last image after a short delay.
    window.setTimeout(function() {
        $bgs[lastPos].classList.remove('visible');
    }, settings.delay / 2);

}, settings.delay);

此错误仅在最新版本的Chrome中引发,似乎在我尝试的其他所有浏览器中都能正常运行。我在setInterval和非活动标签的问题上看到了一个线程,但在呈现页面后几乎立即抛出此线程。由于这个原因,我的过渡很不稳定,但在其他浏览器中运行顺畅。

非常感谢任何想法或建议!

0 个答案:

没有答案