다트 스트림이 첫 번째 결과를 얻을 때 알림을받을 수있는 방법이 있습니까?

알렌 후

현재 async다음을 수행 하는 기능이 있습니다.

  1. 스트림을 초기화합니다.
  2. stream.listen()스트림을 청취하는 함수를 호출 하고 제공하십시오.
  3. await 스트림이 첫 번째 결과를 얻을 수 있습니다.

다음은 내 함수의 의사 코드입니다.

Future<void> initStream() async {
  // initialize stream
  var stream = getStream();
  // listen
  stream.listen((result) {
    // do some stuff here
  });
  // await until first result
  await stream.first; // gives warning
}

불행히도 호출 stream.first은 스트림을 듣는 것으로 간주되며 스트림은 여러 청취자가 듣는 것을 허용하지 않습니까?

await Future.doWhile()다음과 같은 것을 사용하여 다른 접근 방식을 시도했습니다 .

bool gotFirstResult = false;
Future<void> initStream() async {
  var stream = getStream();
  stream.listen((result) {
    // do some stuff here
    gotFirstResult = true;
  });
  await Future.doWhile(() => !gotFirstResult);
}

이것은 나를 위해 작동하지 않았고 여전히 이유를 모릅니다. 이 경우에 Future.doWhile()제공된 함수 stream.listen()가 호출되지 않았습니다.

스트림의 첫 번째 결과를 기다리는 방법이 있습니까? (제 질문을 충분히 설명하지 못해 죄송합니다. 필요한 경우 다른 세부 정보를 추가하겠습니다.) 미리 감사드립니다!

Pavel

한 가지 방법은 스트림을 브로드 캐스트로 변환하는 것입니다.

var stream = getStream().asBroadcastStream();
stream.listen((result) {
  // do some stuff here
});
await stream.first;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 프로세스가 신호를받을 때 알림을받을 수있는 방법이 있습니까?

분류에서Dev

스트림 방법은 첫 번째 요소의 일치 부울의 인덱스를 얻을 수 있습니다

분류에서Dev

스트림 방법은 첫 번째 요소의 일치 부울의 인덱스를 얻을 수 있습니다

분류에서Dev

ntpd가 시스템 시간을 업데이트했을 때 알림을받을 수 있습니까?

분류에서Dev

첫 번째 스트림의 이벤트에 따라 두 번째 스트림을 초기화하는 방법은 무엇입니까?

분류에서Dev

Linux에서 IP 주소 나 웹 사이트가 온라인 상태 일 때 알림을받을 수있는 방법이 있습니까?

분류에서Dev

파일을 읽을 때 첫 번째 바이트가 0이 될 수 있습니까?

분류에서Dev

IntelliJ 플러그인이 제거 될 때 알림을받을 수있는 방법이 있습니까?

분류에서Dev

AlarmManager는 첫 번째 알림을 보낸 후 푸시 알림 시간 (시간 및 분)을 업데이트하지 않습니다.

분류에서Dev

알림이있을 때 받기

분류에서Dev

SwiftUI에서 iPad 방향을 찾고 자동으로 알림을 받거나 함수로 업데이트를받을 수있는 방법은 무엇입니까?

분류에서Dev

텍스트가 첫 번째 div 바로 아래에 표시되고 두 번째 div와 겹치지 않고 항상 나란히있는 높이가 다른 두 div를 어떻게 얻을 수 있습니까?

분류에서Dev

첫 번째 변수의 순위를 얻는 방법은 첫 번째 개체의 개체이고 Android의 두 번째 개체에는 배열이 있습니다.

분류에서Dev

Dart / Flutter는 이번주의 첫 번째 DateTime을 얻습니다.

분류에서Dev

React 컴포넌트에서 다시 이동할 때 알림을받는 방법은 무엇입니까?

분류에서Dev

IBM MQ : 연결 중단 알림을받을 수있는 방법이 있습니까?

분류에서Dev

6 번째 열이있는 경우 텍스트에서 첫 번째 및 6 번째 열을 추출합니다.

분류에서Dev

IOS 앱이 FCM 알림을받을 때 테이블보기를 업데이트하는 방법

분류에서Dev

클라이언트가 이벤트 알림을받을 수 있도록 Twitter에서 새 이벤트를 발생시키는 방법은 무엇입니까?

분류에서Dev

Thunderbird를 닫아도 백그라운드에서 알림을받을 수있는 방법이 있습니까?

분류에서Dev

업데이트가있을 때 알림

분류에서Dev

첫 번째 변수가 비어있을 때 PHP 변수를 다른 변수로 설정하는 방법

분류에서Dev

열을 제거하는 방법은 첫 번째 행에 Nan이 있습니다.

분류에서Dev

Xubuntu / XFCE : 시스템 트레이에서 이메일 알림을받을 수 있습니까?

분류에서Dev

시스템 트레이에서 데이터 전용 알림을받을 수 있습니까?

분류에서Dev

열이 하나만있을 때 이름이있는 데이터 프레임의 첫 번째 행을 얻는 방법은 무엇입니까?

분류에서Dev

ggplot에서 첫 번째 n 번째 행을 취한 다음 barplot을 만든 다음 nrow (df)가 완료 될 때까지 다음 n 번째 행을 만드는 barplot을 분리하는 방법이 있습니까?

분류에서Dev

스톰프 클라이언트는 SessionSubscribeEvent가 발생할 때 메시지 / 알림을받지 못합니다.

분류에서Dev

알림을받을 때 호출 할 수 있도록 알림과 함께 개체를 저장하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    다른 프로세스가 신호를받을 때 알림을받을 수있는 방법이 있습니까?

  2. 2

    스트림 방법은 첫 번째 요소의 일치 부울의 인덱스를 얻을 수 있습니다

  3. 3

    스트림 방법은 첫 번째 요소의 일치 부울의 인덱스를 얻을 수 있습니다

  4. 4

    ntpd가 시스템 시간을 업데이트했을 때 알림을받을 수 있습니까?

  5. 5

    첫 번째 스트림의 이벤트에 따라 두 번째 스트림을 초기화하는 방법은 무엇입니까?

  6. 6

    Linux에서 IP 주소 나 웹 사이트가 온라인 상태 일 때 알림을받을 수있는 방법이 있습니까?

  7. 7

    파일을 읽을 때 첫 번째 바이트가 0이 될 수 있습니까?

  8. 8

    IntelliJ 플러그인이 제거 될 때 알림을받을 수있는 방법이 있습니까?

  9. 9

    AlarmManager는 첫 번째 알림을 보낸 후 푸시 알림 시간 (시간 및 분)을 업데이트하지 않습니다.

  10. 10

    알림이있을 때 받기

  11. 11

    SwiftUI에서 iPad 방향을 찾고 자동으로 알림을 받거나 함수로 업데이트를받을 수있는 방법은 무엇입니까?

  12. 12

    텍스트가 첫 번째 div 바로 아래에 표시되고 두 번째 div와 겹치지 않고 항상 나란히있는 높이가 다른 두 div를 어떻게 얻을 수 있습니까?

  13. 13

    첫 번째 변수의 순위를 얻는 방법은 첫 번째 개체의 개체이고 Android의 두 번째 개체에는 배열이 있습니다.

  14. 14

    Dart / Flutter는 이번주의 첫 번째 DateTime을 얻습니다.

  15. 15

    React 컴포넌트에서 다시 이동할 때 알림을받는 방법은 무엇입니까?

  16. 16

    IBM MQ : 연결 중단 알림을받을 수있는 방법이 있습니까?

  17. 17

    6 번째 열이있는 경우 텍스트에서 첫 번째 및 6 번째 열을 추출합니다.

  18. 18

    IOS 앱이 FCM 알림을받을 때 테이블보기를 업데이트하는 방법

  19. 19

    클라이언트가 이벤트 알림을받을 수 있도록 Twitter에서 새 이벤트를 발생시키는 방법은 무엇입니까?

  20. 20

    Thunderbird를 닫아도 백그라운드에서 알림을받을 수있는 방법이 있습니까?

  21. 21

    업데이트가있을 때 알림

  22. 22

    첫 번째 변수가 비어있을 때 PHP 변수를 다른 변수로 설정하는 방법

  23. 23

    열을 제거하는 방법은 첫 번째 행에 Nan이 있습니다.

  24. 24

    Xubuntu / XFCE : 시스템 트레이에서 이메일 알림을받을 수 있습니까?

  25. 25

    시스템 트레이에서 데이터 전용 알림을받을 수 있습니까?

  26. 26

    열이 하나만있을 때 이름이있는 데이터 프레임의 첫 번째 행을 얻는 방법은 무엇입니까?

  27. 27

    ggplot에서 첫 번째 n 번째 행을 취한 다음 barplot을 만든 다음 nrow (df)가 완료 될 때까지 다음 n 번째 행을 만드는 barplot을 분리하는 방법이 있습니까?

  28. 28

    스톰프 클라이언트는 SessionSubscribeEvent가 발생할 때 메시지 / 알림을받지 못합니다.

  29. 29

    알림을받을 때 호출 할 수 있도록 알림과 함께 개체를 저장하는 방법은 무엇입니까?

뜨겁다태그

보관