javascript promise catch without then