Angular2: solicitações http síncronas dinâmicas

Objetivo: Fazer uma série de solicitações http síncronas e poder se inscrever nelas como um fluxo observável.

Amostra (não está funcionando):

let query_arr = ['test1','test2','test3']

function make_request(query_arr){

    if (query_arr.length){

        let payload = JSON.stringify(query_arr[0]);
        let headers = new Headers();

        query_arr.splice(0,1);

        this.http.post('https://endpoint/post',payload,{headers:headers})
            .map((res:Response) => {make_request(query_arr)})

    }

}.subscribe(
    data => console.log('finished http request, moving on to next http request'),
    err => console.error(err),
    () => console.log('all http requests have been finished')
);

make_request(query_arr)

Funcionalidade da meta:

Precisa saber quando cada resposta foi retornadaDeve saber quando todas as respostas retornaram

questionAnswers(3)

yourAnswerToTheQuestion