Flutter: Stream is allowed?











up vote
2
down vote

favorite












Sometimes, when I´m watching some projects that work with streams, I see something like:



final controller = StreamController<Null>();


and then:



controller.sink.add(null);


So, is allowed to pass null in streams? Why?










share|improve this question


























    up vote
    2
    down vote

    favorite












    Sometimes, when I´m watching some projects that work with streams, I see something like:



    final controller = StreamController<Null>();


    and then:



    controller.sink.add(null);


    So, is allowed to pass null in streams? Why?










    share|improve this question
























      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      Sometimes, when I´m watching some projects that work with streams, I see something like:



      final controller = StreamController<Null>();


      and then:



      controller.sink.add(null);


      So, is allowed to pass null in streams? Why?










      share|improve this question













      Sometimes, when I´m watching some projects that work with streams, I see something like:



      final controller = StreamController<Null>();


      and then:



      controller.sink.add(null);


      So, is allowed to pass null in streams? Why?







      null stream flutter sink






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 18 at 12:04









      Little Monkey

      10810




      10810
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          Null as generic type argument was used before void was supported and means in this case that only the occurence of the even is meaningful, but the event value is not.



          With Null the value null is the only valid event value. With void a callback function can be passed that does not take any parameter.






          share|improve this answer




























            up vote
            1
            down vote













            That's a hack around the fact that sinks require an argument.



            Some peoples use streams as a flux of events instead of a value changing over time, but the class isn't designed with this in mind. They typically try to represent the following method as a stream:



            void onClick();





            share|improve this answer





















            • So, basically it´s allowed, even if streams are not designed to be used like this.
              – Little Monkey
              Nov 18 at 12:40











            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53360670%2fflutter-streamnull-is-allowed%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote



            accepted










            Null as generic type argument was used before void was supported and means in this case that only the occurence of the even is meaningful, but the event value is not.



            With Null the value null is the only valid event value. With void a callback function can be passed that does not take any parameter.






            share|improve this answer

























              up vote
              1
              down vote



              accepted










              Null as generic type argument was used before void was supported and means in this case that only the occurence of the even is meaningful, but the event value is not.



              With Null the value null is the only valid event value. With void a callback function can be passed that does not take any parameter.






              share|improve this answer























                up vote
                1
                down vote



                accepted







                up vote
                1
                down vote



                accepted






                Null as generic type argument was used before void was supported and means in this case that only the occurence of the even is meaningful, but the event value is not.



                With Null the value null is the only valid event value. With void a callback function can be passed that does not take any parameter.






                share|improve this answer












                Null as generic type argument was used before void was supported and means in this case that only the occurence of the even is meaningful, but the event value is not.



                With Null the value null is the only valid event value. With void a callback function can be passed that does not take any parameter.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 18 at 16:33









                Günter Zöchbauer

                306k63906853




                306k63906853
























                    up vote
                    1
                    down vote













                    That's a hack around the fact that sinks require an argument.



                    Some peoples use streams as a flux of events instead of a value changing over time, but the class isn't designed with this in mind. They typically try to represent the following method as a stream:



                    void onClick();





                    share|improve this answer





















                    • So, basically it´s allowed, even if streams are not designed to be used like this.
                      – Little Monkey
                      Nov 18 at 12:40















                    up vote
                    1
                    down vote













                    That's a hack around the fact that sinks require an argument.



                    Some peoples use streams as a flux of events instead of a value changing over time, but the class isn't designed with this in mind. They typically try to represent the following method as a stream:



                    void onClick();





                    share|improve this answer





















                    • So, basically it´s allowed, even if streams are not designed to be used like this.
                      – Little Monkey
                      Nov 18 at 12:40













                    up vote
                    1
                    down vote










                    up vote
                    1
                    down vote









                    That's a hack around the fact that sinks require an argument.



                    Some peoples use streams as a flux of events instead of a value changing over time, but the class isn't designed with this in mind. They typically try to represent the following method as a stream:



                    void onClick();





                    share|improve this answer












                    That's a hack around the fact that sinks require an argument.



                    Some peoples use streams as a flux of events instead of a value changing over time, but the class isn't designed with this in mind. They typically try to represent the following method as a stream:



                    void onClick();






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 18 at 12:26









                    Rémi Rousselet

                    21.1k23269




                    21.1k23269












                    • So, basically it´s allowed, even if streams are not designed to be used like this.
                      – Little Monkey
                      Nov 18 at 12:40


















                    • So, basically it´s allowed, even if streams are not designed to be used like this.
                      – Little Monkey
                      Nov 18 at 12:40
















                    So, basically it´s allowed, even if streams are not designed to be used like this.
                    – Little Monkey
                    Nov 18 at 12:40




                    So, basically it´s allowed, even if streams are not designed to be used like this.
                    – Little Monkey
                    Nov 18 at 12:40


















                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53360670%2fflutter-streamnull-is-allowed%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                    Alcedinidae

                    Origin of the phrase “under your belt”?