be robust to dealloc while doing some network

this way, I can forget calling cancel