<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 1.generator基礎 generator函數最大的特點是交出函數的執行權。 ~~~ function *gen(x){ yield x+2; return x; } var g = gen(3); console.log(g.next()); //{value: 5, done: false} console.log(g.next()); //{value: 3, done: true} ~~~ - 1.gen(3) 調用generator函數不會立即執行,而是會返回一個遍歷器 - next()方法,會移動內部指針,指向[第一個遇到的yield語句](),上例是執行到x+2為止。next()方法的作用: >分階段執行generator函數。每次調用next方法,會返回一個對象。 - 返回的對象,表示當前階段的信息(value 屬性和 done 屬性) * value 屬性是 yield 語句后面表達式的值,表示當前階段的值;done 屬性是一個布爾值,表示 Generator 函數是否執行完畢,即是否還有下一個階段 ## 2.Generator函數的數據交換 ~~~ function *gen(x){ var y = yield x+2; return y; } ~~~ >Tip:第一個next()傳入值沒用 ~~~ var g = gen(1); g.next() // { value: 3, done: false } g.next(2) // { value: 2, done: true } ~~~ >Tip:第二個next()如果不傳值 ~~~ g.next() // { value: 3, done: false } g.next() // { value: undefined, done: true } ~~~ * next 方法返回值的 value 屬性,是 Generator 函數向外輸出數據;next 方法還可以接受參數,這是向 Generator 函數體內輸入數據。 * 第一個 next 方法的 value 屬性,返回表達式 x + 2 的值(3) * 第二個 next 方法帶有參數2,這個參數可以傳入 Generator 函數,作為上個階段異步任務的返回結果,被函數體內的變量 y 接收。因此,這一步的 value 屬性,返回的就是2(變量 y 的值)。 ### demo01 ~~~ function *gen(x){ var y = yield x+3; yield y; } var g = gen(1); console.log(g.next()) //這個參數作為上個階段異步任務的返回結果,被第二個next()函數接收 console.log(g.next(13)) ~~~ ### demo02 ~~~ function http(x){ return x+2; } function *getData(){ var y= yield http(10) yield http(y) } var gen = getData(10); console.log(gen.next()) console.log(gen.next(20)) ~~~ ~~~ {value: 12, done: false} {value: 22, done: false} ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看