lib/vow.js
function(reason) {
        if(this._promise.isResolved()) {
            return;
        }

        if(vow.isPromise(reason)) {
            reason = reason.then(function(val) {
                var defer = vow.defer();
                defer.reject(val);
                return defer.promise();
            });
            this._promise._resolve(reason);
        }
        else {
            this._promise._reject(reason);
        }
    }
function(reason) {
        if(this._promise.isResolved()) {
            return;
        }

        if(vow.isPromise(reason)) {
            reason = reason.then(function(val) {
                var defer = vow.defer();
                defer.reject(val);
                return defer.promise();
            });
            this._promise._resolve(reason);
        }
        else {
            this._promise._reject(reason);
        }
    }
function ( reason ) { if ( this . _promise . isResolved ( ) ) { return ; } if ( vow . isPromise ( reason ) ) { reason = reason . then ( function ( val ) { var defer = vow . defer ( ) ; defer . reject ( val ) ; return defer . promise ( ) ; } ) ; this . _promise . _resolve ( reason ) ; } else { this . _promise . _reject ( reason ) ; } }
Rejects the corresponding promise with the given `reason`.

@param {*} reason

@example
```js
var defer = vow.defer(),
promise = defer.promise();

promise.fail(function(reason) {
// reason is "'something is wrong'" here
});

defer.reject('something is wrong');
```
Rejects the corresponding promise with the given reason .