Webpack / Typescript无法正确解析for-await循环

问题描述 投票:0回答:1

在我的vue-cli打字稿项目中遇到yarn build的障碍:

tmpDataDocs是一系列Promise<DisplayableData>物体。据我了解for await控制结构,循环内的doc类型应该是解析的DisplayableData对象,而不是Promise<DisplayableData>

VSCode对此循环没有任何问题,yarn serve没有循环问题。只有build磕磕绊绊。

    195:35 Argument of type 'Promise<DisplayableData>' is not assignable to parameter of type 'DisplayableData'.
      Property 'id_datashape' is missing in type 'Promise<DisplayableData>'.
        193 |     for await (const doc of tmpDataDocs) {
        194 |       tmpData.unshift(
      > 195 |         displayableDataToViewData(doc)
            |                                   ^
        196 |       );
        197 |     }
        198 |

有关如何修复构建的任何建议?

typescript webpack async-await vue-cli-3
1个回答
0
投票

一个令人不满意的答案:重写代码,使其不使用for-await结构。

// builds successfully
for (const docPromise of tmpDataDocs) {
  const doc = await docPromise;

  tmpData.unshift(
    displayableDataToViewData(doc)
  );
}
© www.soinside.com 2019 - 2024. All rights reserved.