功能不返回任何内容

时间:2017-01-04 11:38:59

标签: javascript angular typescript

dispatcher.dispatch("activityId", "ctxId", 1l,);

似乎在funciton getTests(id)中无法访问TESTS, 但是如果在getTests函数中返回testsPromise,我会收到所有数据,因此可以使用testsPromise。为什么呢?

2 个答案:

答案 0 :(得分:5)

您需要初始化项目:

  var items: Test[] = [];

答案 1 :(得分:2)

Test是这样的界面吗?

interface Test {
    id: number;
    name: string;
    fid: number;
}

如果是这样,您必须在循环开始之前初始化items数组(注意使用let):

getTests(id: number) {
    let items: Test[] = [];
    // ...
}

然后,确保TESTS(无论声明在哪里)在函数中可用

getTests(id: number) {
    console.log(TESTS); // do you see this output?
    // ...
}

使用上面的设置,您的代码对我来说很好

奖励:如果您想进一步细化,可以在一行中重写您的功能:

getTests(id: number): Test[] {
    return TESTS.filter((oneTest: Test) => oneTest.fid === id);
}