Build:deferred chains

if a resolveValue return a new Deferred Object, then wait it resolve