333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// jshint esnext:true
 
var chan = require('..')
var co   = require('co')
var wait = require('co-wait')
var ch   = chan()
 
co(function *() {
  var val
  while (!ch.done()) {
    val = yield ch
    if (val !== ch.empty) {
      console.log(val)
    }
  }
  console.log('Done!')
})()
 
co(function *() {
  var n = 10
 
  while (n-- > 0) {
    yield wait(100)
    try {
      ch(n)
    } catch(err) {
      console.log(err.message)
    }
 
    if (n === 5) {
      ch.close()
    }
  }
})()