Donald Trump has promised to 'avenge' American troops killed in the Iran war in his second address to the nation in 48 hours.