在Angular2服务中回调映射函数

时间:2017-04-24 14:39:29

标签: json typescript

在我的service.ts文件中,我有一个函数(getQuestions),它调用返回JSON的HTTP服务。使用此返回的JSON(data),我想调用另一个函数(buildQuestions),以便在buildQuestions中返回getQuestions的结果。 如何调用函数返回buildQuestions的结果或保证buildQuestions的结果在getQuestions中返回时定义{/ 1}}。

data:any;
questions : QuestionBase<any>[] = [];

getQuestions() {
    let result = this.http.get(this.questionUrl)
        .map(res => res.json())
        .map(data => {
            this.data = data;
            return this.buildQuestions(data);
    });
    return result; //should actually return "this.buildQuestions(data)" (or "this.questions.sort((a, b) => a.order - b.order);")
}

buildQuestions(data){
    for (let key in data) {
        //push Objects in this.questions array
    }
    return this.questions.sort((a, b) => a.order - b.order);
}

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

(define foo 1)
(define (setmachine variable newvalue)
    (set! variable newvalue))
(setmachine foo 2)
foo ;; returns 1