public function __construct($canceller = null)
{
$this->promise = null;
$this->resolveCallback = function ($value = null) {
};
$this->rejectCallback = function ($reason = null) {
};
$this->cancelCallback = function ($reason = null) {
};
$this->canceller = $canceller;
}