Donald Trump said on Sunday he would do whatever is necessary to protect the United States from a "vile enemy" that he says has waged war on innocents for too long, vowing: "This bloodshed must end, this bloodshed will end."

The US president commented on the vehicle and knife attack that killed at least seven people in London at the conclusion of a fundraiser for Ford's Theater, scene of one of the most famous acts of bloodshed in American history: the assassination of President Abraham Lincoln.

"America sends our thoughts and prayers and our deepest sympathies to the victims of this evil slaughter and we renew our resolve, stronger than ever before, to protect the United States and its allies from a vile enemy that has waged war on innocent life, and it's gone on too long," Mr Trump said.

"This bloodshed must end, this bloodshed will end," said the tuxedo-clad Trump, standing on stage with his wife, first lady Melania Trump.