国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - Bagaimana untuk menggunakan hasil fungsi Generator dalam es6?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-06-26 10:50:39
0
1
813

Mari kita lihat kodnya dahulu:

function wrapper(generatorFunction) {
    return function (...args) {
        let generatorObject = generatorFunction(...args);
        generatorObject.next();
        return generatorObject;
    };
}

const wrapped = wrapper(function* () {
    console.log(`First input: ${yield}`);
    return 'DONE';
});

wrapped().next('hello!')
// First input: hello!

Bagaimana untuk memahami hasil output ini? Setelah berfikir panjang, saya tidak dapat memahami keputusan pembedahannya.
Terdapat juga kod berikut:

function* dataConsumer() {
  console.log('Started');
  console.log(`1. ${yield}`);
  console.log(`2. ${yield}`);
  return 'result';
}

let genObj = dataConsumer();
genObj.next();
// Started
genObj.next('a')
// 1. a
genObj.next('b')
// 2. b

Saya masih tidak faham, tolong bantu saya menganalisis dua keping kod di atas dan bantu saya mempelajari fungsi Penjana. Terima kasih.

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證高級PHP講師

membalas semua(1)
劉奇

yield Kata kunci mempunyai dua fungsi:

  1. Menjeda pelaksanaan fungsi penjana dan mengembalikan nilai ungkapan berikut

  2. Sambung semula pelaksanaan fungsi penjana dan dapatkan parameter pilihan yang diluluskan oleh kaedah next

Dua contoh yang anda berikan kedua-duanya menggunakan yield 接收了 next untuk menerima parameter yang dihantar melalui kaedah

. ??
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan