我已经开始使用TypeScript进行编程了,在某些情况下我对如何定义参数类型感到有些困惑。
这里是:
::::代码::::
// First the references to TypeScript definition files used by the src code
/// <reference path="../lib/express.d.ts"/>;
/// <reference path="../lib/request.d.ts"/>;
// Import modules for the sake of using TypeScript
import express = require('express');
import request = require('request');
var getUuidFromCouchDb = function (httpReq: any, expressRes: express.Response) {
// Load module/function that parses JSON
var parseJsonFromRequestWithCheck = require('./parseJsonFromRequestWithCheck');
// Get a UUID from CouchDB which we can use to create a new document in the database
httpReq.get('http://127.0.0.1:5984/_uuids', function (httpReqError: any, httpReqRes: any, httpReqBody: any) {
var resBodyAsJson: JSON = parseJsonFromRequestWithCheck(httpReqBody, expressRes);
// Do checks on resBodyAsJson
if (resBodyAsJson && resBodyAsJson.uuids && resBodyAsJson.uuids.length > 0) {
// UUID in JSON format received from CouchDB - return it to the client
expressRes.json(resBodyAsJson);
return;
} else {
// Parsing of JSON likely failed in parseJsonFromRequestWithCheck or malformed data retrieved
expressRes.sendStatus(500);
return;
}
});
}
module.exports = getUuidFromBackend;
所以问题是: - 我想定义&#34; httpReq&#34;的类型。参数为&#34;类型&#34; &#34;请求&#34;图书馆。这可能完全是 - 如果是这样,那么为该参数定义类型的正确方法是什么。使用&#34;任何&#34;只觉得很松散。 - 对于变量&#34; parseJsonFromRequestWIthCheck我还想为它定义一个类型。它是一个提供Express JS响应的模块。无论是在JSON中还是在发送状态时,解析JSON失败。这与Express JS响应的sendStatus方法有关。这样做的正确方法是什么?
期待收到你的来信....
非常感谢你......
答案 0 :(得分:0)
我想定义&#34; httpReq&#34;的类型。参数为&#34;类型&#34; &#34;请求&#34;文库
而不是httpReq: any
,您将拥有httpReq: typeof request
。
对于变量&#34; parseJsonFromRequestWIthCheck我还想为其定义一个类型。
而不是var parseJsonFromRequestWithCheck
,您将拥有import parseJsonFromRequestWithCheck
。
要详细了解TypeScript模块系统中的import
:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1