function delay (timeout) { var d = Q.defer(); setTimeout(d.resolve, timeout); return d.promise; } delay(1000).then(function () { alert('a'); });