admin管理员组

文章数量:1434900

Here is my code:

async buildSomething(): any {
    const requestData = await request;
    requestData.forEach(i => this.table.push(i));
}

How I should type a void function, because it does something but It does not return anything.

In my case I used any but tslint shows me this:

Type 'any' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-patible constructor value.

How should I achieve this?

Here is my code:

async buildSomething(): any {
    const requestData = await request;
    requestData.forEach(i => this.table.push(i));
}

How I should type a void function, because it does something but It does not return anything.

In my case I used any but tslint shows me this:

Type 'any' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-patible constructor value.

How should I achieve this?

Share Improve this question asked Oct 28, 2020 at 14:22 Amos Isaila Lucian OnofreiAmos Isaila Lucian Onofrei 3263 silver badges17 bronze badges 3
  • is this unclear? why people put -1? dude, I just need some advice, thats all – Amos Isaila Lucian Onofrei Commented Oct 28, 2020 at 14:26
  • Have you tried typing it as void? – Heretic Monkey Commented Oct 28, 2020 at 14:28
  • yup, the same tslint message – Amos Isaila Lucian Onofrei Commented Oct 28, 2020 at 14:40
Add a ment  | 

2 Answers 2

Reset to default 4

All async functions return something: they return promises. So you don't want void, you want Promise<void>

async buildSomething(): Promise<void> {
    const requestData = await request;
    requestData.forEach(i => this.table.push(i));
}

The return type should be Promise<void>

本文标签: javascriptHow to type async function in TypeScript when its a void functionStack Overflow