Flow Promise:无法返回请求,因为 Promise [1] 与 <EntityType> 不兼容

Shi*_*MSK 5 javascript node.js flowtype

我有一个entityType产品并用它来将数据插入DynamoDB使用AWS.DynamoDB.DocumentClient

产品.js:

export class Product {
    id: string;

    partNumber: string;

    createdAt: Date;
}
Run Code Online (Sandbox Code Playgroud)

产品服务.js:

export async function addProduct(request: Product): Product {
  try {
    if (request.id === undefined) {
      request.id = uuid.v4();
    }
    const params = {
      TableName: TABLE_NAME,
      Item: request,
    };
    await dynamoDBClient.put(params).promise();
    return request;
  } catch (err) {
    logger.error(`Error ${err}`);
    throw Error(err);
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行流程检查时,我在./src/返回请求 时收到以下错误:

无法返回请求,因为Promise [1]

Product
 [2]
Run Code Online (Sandbox Code Playgroud)

即使请求的类型为 Product ,它仍然显示 Promise Error 。我们该如何解决它?

Jor*_*own 5

异步函数总是返回承诺。尽管看起来您正在返回一个 Product,但该函数的返回类型应该是Promise<Product>.