Programing

`return function * () {…}`는 무엇을 의미합니까?

lottogame 2020. 12. 26. 09:27
반응형

`return function * () {…}`는 무엇을 의미합니까?


이 질문에 이미 답변이 있습니다.

나는 Koa 에서 이상한 것을 보았다 . 몇 가지 새로운 함수 이름이 있습니다 ( https://github.com/koajs/koa/blob/master/examples/co.js#L10에서 ) :

app.use(function(){
  return function *(){
    var paths = yield fs.readdir('docs');

    var files = yield paths.map(function(path){
      return fs.readFile('docs/' + path, 'utf8');
    });

    this.type = 'markdown';
    this.body = files.join('');
  }
});

무슨 return function *()뜻이야? *JavaScript 에서 이름으로 함수를 선언 할 수 있습니까 ?


이는 함수가 반복자를 반환한다는 것을 의미합니다 (따라서 더 많은 값을 생성하기 위해 .next ()로 반복적으로 호출 될 수 있습니다.

자세한 내용은 http://wingolog.org/archives/2013/05/08/generators-in-v8확인 하십시오.

ES6 구조이므로 현재 클라이언트 쪽 js가 아닌 노드에서 더 많이 볼 수 있습니다.


코아라는 새로운 자바 스크립트 기능을 사용하게 발전기를 하고는 *V8에 발전기를 식별하는 방법입니다.

참조 URL : https://stackoverflow.com/questions/19833945/what-does-return-function-mean

반응형