repair error in covenant whereby deeply nested promises can result in a recursive nextTick warning.  introduced a yield in the promise in then-handler