Promise: .done() works in Safari

Using async makes Safari behave strangely on page load. Resorting to
using setTimeout to make proper errors.