ฉันกำลังพยายามใช้ typescript สำหรับ AWS Lambda ของฉันและฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันใช้สัญญา
ข้อผิดพลาด TS2693: 'สัญญา' หมายถึงประเภทเท่านั้น แต่มีการใช้เป็นค่าที่นี่
ฉันลองใช้รูปแบบต่าง ๆ ต่อไปนี้ในรหัส
ใช้คอนสตรัคสัญญา
responsePromise = new Promise((resolve, reject) => {
return reject(new Error(`missing is needed data`))
})
ใช้ Promise.reject
responsePromise = Promise.reject(new Error(`Unsupported method "${request.httpMethod}"`));
รุ่น
ต่อไปนี้เป็นรุ่นในการอ้างอิง dev ของฉัน:
"typescript": "^2.2.2"
"@types/aws-lambda": "0.0.9",
"@types/core-js": "^0.9.40",
"@types/node": "^7.0.12",
เนื้อหาของ tsconfig.json
{
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
// "typeRoots" : ["./typings", "./node_modules/@types"],
"target": "es5",
// "types" : [ "core-js" ],
"noImplicitAny": true,
"strictNullChecks": true,
"allowJs": true,
"noEmit": true,
"alwaysStrict": true,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist",
"moduleResolution": "Node",
"declaration": true,
"lib": [
"es6"
]
},
"include": [
"index.ts",
"lib/**/*.ts"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
ฉันใช้ grunt-ts กับการกำหนดค่าต่อไปนี้สำหรับการเรียกใช้งาน ts
ts: {
app: {
tsconfig: {
tsconfig: "./tsconfig.json",
ignoreSettings: true
}
},
...
ฉันลองด้วยวิธีแก้ปัญหาที่กล่าวถึงในที่ฉันได้รับ: [ts] 'Promise' อ้างถึงประเภทเท่านั้น แต่มีการใช้เป็นค่าที่นี่แต่ไม่มีโชค
responsePromise = new Promise((resolve, reject) => { reject(new Error("missing is needed data"))})
ฉันลองแล้ว แต่มันก็ไม่ได้มีปัญหา
responsePromise
ประกาศอย่างไร
return
เพียงกำจัด