When the `data` condition is not met, the callback is not called at all. This will be very difficult to troubleshoot.

Please add an "else" part.

@raymondfeng Can we reasonable expect that "download" method may not return any payload? Does it mean the file was not uploaded yet?