const req = (t = 300, res = 1) => new Promise((resolve, reject) => {
setTimeout(() => {
console.log('req end ' + t)
if(res) {
resolve(t)
} else {
reject(false)
}
}, t)
})
function *foo() {
try{
yield req(300, 1)
}catch(e) {
console.log(e)
}
let x = yield "hello"
yield x.toLowerCase()
console.log('continue...')
}
let it = foo()
it.next().value.then(r => {
console.log(r)
}).catch(e => {
console.log(e)
})
it.next()
try {
it.next('abc')
} catch(e) {
}
try {
it.throw('it error')
}catch(e) {
}
- 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
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58