2017-05-12 2 views
0

도움이 필요합니다.스트림을 처리하는 동안 비동기 작업

파일을 스트림으로 읽고 첫 번째 청크에서 비동기 작업 인 데이터베이스 테이블을 만들어야합니다. 그래서 우리가 파일의 시작을 처리 할 때 테이블을 만들지 만 그렇지 않으면 정상적인 스트림으로 작업 할 이중/변압기 스트림을 생성하고 싶습니다. 의사 코드로

나는이

fileLoaderService 
    .loadfileAsStream() 
    .pipe(parser) 
    .pipe(
    if !headerProcessed 
     createTable 
    passThrough 
) 
    .pipe(insertToTable) 

같은이 가능 생각?

+0

에서 스트림을 처리하기 전에 작업을 수행하는 기능 startReadableStream 제어기의 사용을 참고'start' 컨트롤러의 기능을 사용하여 – guest271314

답변

0

pull

let stream = new ReadableStream({ 
    start(controller) { 
    // create table 
    }, 
    pull(controller) { 
    // enqueue next chunk 
    } 
})