Кордова TTS не может прочитать свойство 'then' из неопределенного - PullRequest
0 голосов
/ 12 марта 2019

есть вызов TTS, который принимает Uncaught TypeError: Cannot read свойство «тогда» из неопределенного. Я понимаю, что должен использовать возврат, но я не знаю, как его обработать или что я должен вернуть

function successCallback(key) {
    hconsole.log('Story for ' + key + ' completed. Adding ' + playing.getItem(key).ctv + ' to past');
    past.addItem(key, playing.getItem(key));
    qpast.addItem(key, playing.getItem(key));
    playing.removeItem(key);
    $('#now-playing').html('<div class="grip"></div>Waiting for next story ...');
    window.plugins.statusBarNotification.notify("Historigin", "Waiting for next story ...", Flag.FLAG_NO_CLEAR);
}

function failureCallback(error) {
    alert(reason);
    hconsole.log('Unable to play story: ' +  JSON.stringify(error));
    hconsole.log('DUDE: ' +  playing.getItem(key).ctv + ' ' +     playing.getItem(key).state + '...' + playing.getItem(key).story);
    queued.addItem(key, playing.getItem(key));
    qpast.removeItem(key);
    past.removeItem(key);
    playing.removeItem(key);
}

if (TTS_ENABLED) {
    hconsole.log('TTS is ENABLED');
    document.addEventListener('deviceready', function () {
        hconsole.log("WERE SPEAKING");
        window.TTS.speak(playing.getItem(key).ctv + ' ' +       playing.getItem(key).state + ' ' + playing.getItem(key).story).then(successCallback, failureCallback);
    }, false);
} else {
    blah blah blah...
}

1 Ответ

0 голосов
/ 12 марта 2019

Попробуйте использовать этот метод

...
if (TTS_ENABLED) {
    hconsole.log('TTS is ENABLED');
    document.addEventListener('deviceready', function () {
        hconsole.log("WERE SPEAKING");
        window.TTS.speak(playing.getItem(key).ctv + ' ' +       playing.getItem(key).state + ' ' + playing.getItem(key).story).then(successCallback, failureCallback).catch(failureCallback);
    }, false);
} else {
    blah blah blah...
}
...

Также убедитесь, что TTS прикреплен к окну

...