0

当我尝试在 paginateScan 中使用带有“@aws-sdk/abort-controller”v3.18.0 AbortContoller 的 abortSignal 时,我收到一个类型错误:

TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.
at FetchHttpHandler.handle (fetch-http-handler.js?bc25:43)
at eval (ScanCommand.js?b825:77)
at eval (deserializerMiddleware.js?fa37:8)
at step (tslib.es6.js?e7de:102)
at Object.eval [as next] (tslib.es6.js?e7de:83)
at eval (tslib.es6.js?e7de:76)
at new Promise (<anonymous>)
at __awaiter (tslib.es6.js?e7de:72)
at eval (deserializerMiddleware.js?fa37:4)
at eval (middleware.js?c362:36)

我在电子中使用它和@aws-sdk/client-dynamodb v3.18.0,如下所示:

import { AbortController } from '@aws-sdk/abort-controller'

const abortController = new AbortController()
let tableData = []
const paginatorConfig = {
  client: new DynamoDBClient({ credentials, region }),
  pageSize: 100,
}
const defaultScanParams = {
  TableName: tableName,
  ReturnConsumedCapacity: 'INDEXES',
}

const additionalArgs = {
  abortSignal: abortController.signal,
}

const paginator = paginateScan(paginatorConfig, defaultScanParams, additionalArgs)

try {
  for await (const page of paginator) {
    if (tableData.items.length > 200) {
      abortController.abort()
    }

    tableData.push(page)
  }
  return tableData
} catch (error) {
  console.error(error) // Type error here
}

我认为我做得很好,但我找不到错误。我怎样才能使这项工作?

4

0 回答 0