如何从typescript中的differenet类中使用ajax方法

时间:2017-01-17 05:34:25

标签: javascript jquery ajax typescript

我是打字稿和ajax的新手。 我已经在typescript中编写了一个方法,用于跨类调用ajax:

myFunc(value: string): JQueryPromise<any>
{
    var dfd = $.Deferred();

    $.ajax({
        url: "http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOGL",
        data: "",
        success: function(value?: string) {
            console.log("success");
            dfd.resolve(value);
        },

        type: "GET",
        async: true,
        dataType: "jsonp"
    });

    return dfd.promise();
}

但是我在使用jquery的whenthen消费时面临问题

var promiseOne = this.myFunc("value1");
    $.when(promiseOne).then((valFromPromiseOne: any) =>
    {
         alert(valFromPromiseOne);
    });

我收到打字稿错误说: Supplied parameters do not match any signature of call target

如果有人可以告诉我从我的ajax方法获得结果的最佳方法..我已尝试使用jquery deffered但面临同样的问题

1 个答案:

答案 0 :(得分:0)

根据jqXHR对象上的jquery文档,这样的事情应该有效。

this.myFunc("value1")
.done((valFromPromiseOne: any) => { alert(valFromPromiseOne); })
.fail(() => { alert("fail")});