Generator 자세히 살펴보기
Generator는 어떤 역할을 할까요???
먼저 코드를 보고generator 함수와 일반 함수의 차이를 느껴보세요
function* test(){
yield 2;
yield 3;
yield 5;
}
var app = test() //
var a = app.next() //
console.log(a) // {value:2,done:false}
var b = app.next() //
console.log(b) // {value:3,done:false}
var b = app.next() //
console.log(b) // {value:5,done:true}
위의 코드에서 알 수 있듯이generator는 함수를 쓸 때 운행을 멈추게 할 수 있다. 마치 우리가 끊을 때와 같다. 그러면 나는 내가 비동기 함수를 쓰면 그를 멈추게 할 수 있지 않을까 생각했다. 흥분된 나는 서둘러 시험해 보았다.
function* getTime(){
// axios , promise , promise
yield axios.get('xxxxx')
}
var app = getTime()
app.next() // {value,done} value axios
Promise 사용
// *
function* add(){}
function *add(){}
// es6
get(){
...
}
//
*get(){
}
이 때 키워드를 알아야 합니다. 이 키워드는generator 함수에 있어야 합니다. 이것은 await가 async 내부에 사용해야 하는 것과 같습니다.
var app = test() //test generator
app.next() // yield , yield value
//
function *test(){
yield 2
}
test().next() //test() , next , {value:2,done:true}
// ,yield value,done generator return yield ,
function* test(){
console.log(' ')
console.log(`1.${yield}`) // es6
console.log(`2.${yield}`) //
}
var app = test() // app generator ,
app.next()
app.next(' ')
app.next(' ')
//
1.
2.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.