Labour is in a bit of leadership dispute and the Article 50 negotiations haven't had time to go bad. Now is probably the best possible time to call an election. This time next year Labour might have gotten their house in order and the first results of the negotiations with the EU will be in and under close scrutiny, and it is very likely the the government will have been forced to make some tough concessions. Both of those things are likely to make winning an election much harder.
Also if they win now they can conduct the Article 50 negotiations in peace and with clear mandate. Trying to win an election and negotiate Brexit at the same time will be much harder, if for no other reason than the fact that the person across the table won't have any idea if the person they're talking to now will be in charge when it comes time to actually sign the papers.
That is certainly one possible outcome. However the Tories seem rather convinced that they can keep and even increase their majority (although the Tories do seem to have a thing for taking big bets with the country on election outcomes). And if they end up even just keeping their majority it will remove the whole "Theresa May has no public mandate to negotiate Brexit" argument from the table. It will also give them 5 more years to ride out the Brexit storm before having to face the voters again.
We live in interesting times!