JPMorgan beats on earnings but Dimon warns on 'much uncertainty'