Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeScript文件中的JavaScript引用_Javascript_Soap_Typescript_Soap Client - Fatal编程技术网

TypeScript文件中的JavaScript引用

TypeScript文件中的JavaScript引用,javascript,soap,typescript,soap-client,Javascript,Soap,Typescript,Soap Client,我有一个JavaScript文件,来自: 我需要用TypeScript写我的程序 我现在的问题是,我不知道如何将这个.js文件集成到我的.ts文件中 我想使用.js文件中的SOAPClient调用服务中的方法 来自.js的一些代码: function SOAPClient() {} SOAPClient.invoke = function(url, method, parameters, async, callback) { if(async) SOAPClient.

我有一个JavaScript文件,来自:

我需要用TypeScript写我的程序

我现在的问题是,我不知道如何将这个.js文件集成到我的.ts文件中

我想使用.js文件中的
SOAPClient
调用服务中的方法

来自.js的一些代码:

function SOAPClient() {}

SOAPClient.invoke = function(url, method, parameters, async, callback)
{
    if(async)
        SOAPClient._loadWsdl(url, method, parameters, async, callback);
    else
        return SOAPClient._loadWsdl(url, method, parameters, async, callback);
} 
我这样试过:
/
,但不起作用

请帮帮我

提前谢谢

declare var SOAPClient: any;
应该让您开始:)


应该开始了:)

您需要为外部JavaScript构建一个定义。最好的开始方法是查看您的使用情况。例如,我从文档中选取了“Hello World”示例:

function HelloWorld() {
    var url = 'http://localhost/';
    var pl = new SOAPClientParameters();
    SOAPClient.invoke(url, "HelloWorld", pl, true, HelloWorld_callBack);
}

function HelloWorld_callBack(r) {
    alert(r);
} 
为了对所使用的功能进行自动完成和类型检查,您需要将以下代码放入名为
SoapClient.d.ts
的文件中

declare class SOAPClientParameters {
}

interface SOAPClient {
    invoke(url: string, method: string, parameters: SOAPClientParameters, async: boolean, callback?: (response: any) => any);
}

declare var SOAPClient: SOAPClient;
在VisualStudio中,这将为您提供自动完成和类型检查。在某些IDE中,需要向调用
SOAPClient
的TypeScript文件添加引用注释:

///<reference path="SoapClient.d.ts"/>
///
您仍然需要记住将实际的SOAPClient JavaScript文件添加到页面中,以便在运行时可用


这里有关于创建您自己的类型定义的完整说明:。

您需要为外部JavaScript构建一个定义。最好的开始方法是查看您的使用情况。例如,我从文档中选取了“Hello World”示例:

function HelloWorld() {
    var url = 'http://localhost/';
    var pl = new SOAPClientParameters();
    SOAPClient.invoke(url, "HelloWorld", pl, true, HelloWorld_callBack);
}

function HelloWorld_callBack(r) {
    alert(r);
} 
为了对所使用的功能进行自动完成和类型检查,您需要将以下代码放入名为
SoapClient.d.ts
的文件中

declare class SOAPClientParameters {
}

interface SOAPClient {
    invoke(url: string, method: string, parameters: SOAPClientParameters, async: boolean, callback?: (response: any) => any);
}

declare var SOAPClient: SOAPClient;
在VisualStudio中,这将为您提供自动完成和类型检查。在某些IDE中,需要向调用
SOAPClient
的TypeScript文件添加引用注释:

///<reference path="SoapClient.d.ts"/>
///
您仍然需要记住将实际的SOAPClient JavaScript文件添加到页面中,以便在运行时可用


这里有关于创建您自己的类型定义的完整说明:。

谢谢您的快速回复!这是否足以引用其他文件或遗漏任何内容?我不能调用SOAPClient的任何方法(它没有显示在自动完成上;例如SOAPClient.invoke();)对于自动完成,您将需要展开它,例如查看其他类型的定义文件“展开”是什么意思?SOAPService上没有明确键入的任何内容:(感谢您的快速回复!这足以引用其他文件还是遗漏任何内容?我无法调用SOAPClient的任何方法(它不会显示在自动完成上;例如SOAPClient.invoke();)对于自动完成,您需要将其展开,例如查看其他定义文件的明确类型“展开”是什么意思?对于SOAPService,明确类型上没有任何内容:(所以我必须自己来做这件事,对吗?这几乎是一项工作,是吗?这对基本情况有效。我很乐意帮助扩展它——或者你可以继续这个想法。如果它达到“成熟”状态,可能值得为它做出贡献:)抱歉,我认为我没有弄好。你的意思是我应该把这个js文件转换成一个d.ts文件?当它准备好发布到明确键入的位置时?不-首先,用我上面的代码将
SoapClient.d.ts
文件添加到你的项目中。然后看看它是否满足了你的所有需要-这是最迫切的需要;以获得你的项目running:)现在我在代码中添加了.d.ts文件,但它没有调用我的.js文件中的任何方法。我在其中添加了警报,但它们从未出现。我还需要在SOAPClientParameters中添加两个方法。我可以将它们放在类Decellation中吗?我非常感谢您的帮助!谢谢!所以我必须自己完成这项工作,对吗?这很有效对于基本情况。我很乐意帮助扩展它-或者你可以继续这个想法。如果它达到“完全成熟”的状态,可能值得为它做出贡献:)对不起,我认为我没有正确理解。你是说我应该把这个js文件转换成d.ts文件?当它准备好将其发布到明确键入的位置时?否-首先,只需使用我上面输入的代码将
SoapClient.d.ts
文件添加到您的项目中。然后看看它是否做了你需要的一切——那是你的迫切需要;为了让您的项目运行:)现在我添加了带有代码的.d.ts文件,但它没有从我的.js文件调用任何方法。我在它们里面放了警报,但它们从来没有出现过。在SOAPClientParameters中我还需要两个方法。我可以把他们放在班上吗?我真的很感激你的帮助!谢谢