我有这种方法尝试登录服务。如果登录成功,则查询Bonus和clientName。否则,它应该发送一条消息并退出该方法。
因此,如果它验证会话未记录,我将发送一条消息,并使用return to quit方法。我不知道这是否是正确的方法,这似乎有点不可思议。有没有更好的方法来完成这种方法?
@override
Stream<GetUserInfoState> mapEventToState(
GetUserInfoEvent event,
) async* {
if (event is GetUserInfoEventImpl) {
yield ConnectingState();
var session = event.session;
await for (final message in session.login()){
yield new MessageState(message);
}
if (!await session.isLogged) {
yield new MessageState('Could not connect');
return;
}
var bonus = await session.bonusPoints;
var clientName = await session.clientName;
yield new SuccessfulState(clientName, bonus, getMessage());
}
}