第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ES6 中 yield 的問題

ES6 中 yield 的問題

桃花長相依 2019-03-06 13:15:40
${yield} 是如何執(zhí)行的我在學(xué)習(xí) Generator 的時候看到一段不錯的代碼,自己改了改不知道如何去讀,希望有人能解答一下,如下:function* bar() {  console.log('one');  console.log('two');  console.log('three');  yield console.log('test');  console.log(`1. ${yield}`);  console.log(`2. ${yield}`);  return 'result';}let barObj = bar();barObj.next();barObj.next('a');barObj.next('b');返回的結(jié)果為:onetwothreetest1. b第一次 next 的時候應(yīng)該走到了 yield console.log('test')第二次傳了一個 a 這個時候程序似乎沒有執(zhí)行
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻1725條經(jīng)驗 獲得超8個贊

首先明確的是a執(zhí)行了。


barObj.next(); //輸出test

barObj.next('a'); //a給了第一個yield,但是沒有使用

barObj.next('b'); //b給了第二yield,并輸出1. b


查看完整回答
反對 回復(fù) 2019-03-16
?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

自己又梳理了一下

我們可以把


barObj.next();

barObj.next('a');

barObj.next('b');

改為如下的形式,這樣看起來更加的方便


console.log(barObj.next(), barObj.next('a'), barObj.next('b'));

上面的代碼應(yīng)該這么來讀

首先要明白 console.log 的返回值是 undefined


next 1.

    console.log('one')...console.log('test');

    return { value: unfefined, done: false }

next 2.

    yield console.log('test') = 'a';

    ${ yield undefined } 寫括號是為了方便看,其實沒有括號

    return { value: undefined, done: false }

next 3.

    console.log(`1. ${'b'}`);

    return { value: undefined, done: false }


查看完整回答
反對 回復(fù) 2019-03-16
  • 3 回答
  • 0 關(guān)注
  • 495 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號