完成异步方法的正确方法是什么*

时间:2019-08-25 18:10:35

标签: flutter dart

我有这种方法尝试登录服务。如果登录成功,则查询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());
    }
  }

0 个答案:

没有答案