Как-то тут запутанно, куча всего намешалась. Я бы переписал:

```js
Q.allSettled(promises).spread(function(earlier, later) {
	var ids = {
		earlier: null,
		later: null
	};

	if (earlier.state === 'fulfilled') {
		ids.earlier = earlier.value.get('id');
	} 

	if (later.state === 'fulfilled') {
		ids.later = later.value.get('id');
	}

	done(ids);
});
```