function log(msg) {
document.write(msg + '<br />');
}
// using promises
function finder(records){
var deferred = when.defer();
setTimeout(function () {
records.push(3, 4);
log('records found - resolving promise');
deferred.resolve(records);
}, 100);
return deferred.promise;
}
var promise = finder([1,2]);
// wait
setTimeout(function () {
// when this is called the finder promise has already been resolved
promise.then(function (records) {
log('records received');
});
}, 1500);