Auslöser Versprechen, wenn ein Ereignis ausgelöst wird

Mein ganzes Projekt verwendet (Bluebird) Verspricht, aber es gibt eine bestimmte Bibliothek verwendet EventEmitter.

Will ich etwas erreichen, wie:

Promise.on('connect', function() {
    x.doSomething();
}).then(function() {
    return new Promise(function(resolve) {
        y.doAction(resolve); //this will result in `eventB` getting emitted
    });
}).on('eventB', function() {
    z.handleEventB();
}).then(function() {
    z.doSomethingElse();
});

Lese ich die Antwort auf EventEmitter in der Mitte eine Kette von Versprechungen.
Das gibt mir ein Weg zum ausführen der callback für 'connect' - Veranstaltung.
Hier ist, wo habe ich bisher

var p = new Promise(function(resolve) {
    emitter.on('connect', resolve);
});
p.on = function() {
    emitter.on.apply(emitter, arguments);
    return p;
};
p.on('connect', function() {
    x.doSomething();
}).then(function() {
    return new Promise(function(resolve) {
        y.doAction(resolve); //this will result in eventB getting emitted
    });
});

Nun, wie Kette weiter für 'eventB' ?

InformationsquelleAutor Jaydeep | 2015-04-29

Schreibe einen Kommentar