我是打字稿和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的when
和then
消费时面临问题
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但面临同样的问题
答案 0 :(得分:0)
根据jqXHR对象上的jquery文档,这样的事情应该有效。
this.myFunc("value1")
.done((valFromPromiseOne: any) => { alert(valFromPromiseOne); })
.fail(() => { alert("fail")});