function promiseResolve(val) {
			if(!consumers) {
				return;
			}

			var queue = consumers;
			consumers = undef;

			enqueue(function () {
				value = coerce(self, val);
				if(status) {
					updateStatus(value, status);
				}
				runHandlers(queue, value);
			});

		}
Transition from pre-resolution state to post-resolution state, notifying
all listeners of the ultimate fulfillment or rejection
@param {*|Promise} val resolution value