19 lines
396 B
Haxe
19 lines
396 B
Haxe
package ru.m;
|
|
|
|
import hw.signal.Signal;
|
|
import promhx.Deferred;
|
|
import promhx.Promise;
|
|
|
|
class SignalUtil {
|
|
public static function next<T>(signal:Signal<T>):Promise<T> {
|
|
var d:Deferred<T> = new Deferred<T>();
|
|
var receiver:T->Void;
|
|
receiver = (value:T) -> {
|
|
signal.disconnect(receiver);
|
|
d.resolve(value);
|
|
};
|
|
signal.connect(receiver);
|
|
return d.promise();
|
|
}
|
|
}
|