It may be simpler to just have a big old if clause here; something like this, for example:

```
if (_this.almostEnding) {
  _this.once('complete', callback);
  return _this.complete();
}
if (_this.ready()) return callback();
_this.once('drain', callback);
```

The advantage is that (I think) you can eliminate some references to `almostEnding` in other places like in `ready()` or the `uploaded` event callback.