Wie führe ich jQuery-Versprechen in phantomJS aus?

Ich benutze versucht, NodeJS und PhantomJS auf der Serverseite für SEO unserer Website zu verwenden. Während Ajax einwandfrei funktioniert, kann ich keine benutzerdefinierten Versprechungen ausführen, die ich in meinem Code verwendet habe. Wie kann ich phantomJS warten lassen, bis die Versprechen erfüllt sind? Unten ist das, was ich codiert habe.

$('body').addClass('before-dom-ready');

$(function() {
    $('body').addClass('after-dom-ready');

    var dfrd = $.Deferred(),
            promise = dfrd.promise();

    setTimeout(function() {
        dfrd.resolve();
    }, 5000);

    promise.done(function() {
        $('body').addClass('promise-executed');
    });

});

phantomJS fügt die Klassen 'before-dom-ready' und 'after-dom-ready' hinzu, aber ich kann die Klasse 'promise-execute' nicht für body erhalten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage