JavaScript: как запланировать несколько вызовов на одну и ту же функцию из Adobe Flash - PullRequest
1 голос
/ 03 марта 2012

Функция JavaScript, называемая jsReceiveRawAudioDataFromFlash(rawData), вызывается почти каждые 100 мс, в зависимости от того, как быстро микрофон во Flash собирает аудиоданные.

function jsReceiveRawAudioDataFromFlash(rawData) {
    document.write("Beginning of this JS function");

    // Computation expensive work
    // I CANNOT put this work in Flash, must be in JavaScript

    // Send it to the network (server)

    document.write("Beginning of this JS function");
}

Каждый раз, когда микрофон Flash собирает фрагмент аудиоданных, он вызывает эту функцию JavaScript.

Эта функция JS получает rawData, выполняет очень дорогостоящую работу, а затем отправляет ее в сеть (на сервер).

Я обнаружил, что предыдущий вызов НЕ завершен, начинается другой вызов, а затем неисполненная часть предыдущего вызова отбрасывается. РЕДАКТИРОВАТЬ - (У меня была проблема с памятью в этой функции, после того, как я исправил ее, она не сбрасывается)

Так что мне нужно запланировать звонок. Как я мог это сделать?

Спасибо.

Peter

1 Ответ

1 голос
/ 03 марта 2012

Добавьте массив в свой JavaScript и логическое значение, чтобы сказать, что функция работает / работает.

Когда функция вызывается, проверьте, работает ли функция, и если это так, сложите данныедля выполнения в массиве.

Когда функция завершит работу, проверьте массив на предмет дальнейших операций, над которыми нужно работать.Если они есть, работайте с ними, если нет, установите для логического значения значение false, и оно будет ждать.

Что-то похожее на это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...