我想在已经可用的Ti.Network.HTTPClient上编写我的自定义OauthClient。
我尝试使用以下代码继承它:
function OAuthClient (params) {
Ti.Network.HTTPClient.call(this, params);
}
OAuthClient.prototype = Object.create(Ti.Network.HTTPClient.prototype);
OAuthClient.prototype.constructor = Ti.Network.HTTPClient;
但是当我尝试按如下方式创建新的OAuthClient时
var client = new OAuthClient({
onload: function() {},
onerror: function() {}
});
我收到了以下错误:
[ERROR] : TypeError: Illegal invocation
[ERROR] : File: app.js
[ERROR] : Line: undefined
[ERROR] : SourceId: undefined
[ERROR] : Backtrace:
[ERROR] : undefined
在Titanium中编写自定义HttpClient的正确方法是什么?
谢谢!
答案 0 :(得分:0)
您将this
设置为上下文(window
上下文),但在调用HTTPClient
时,他希望在Ti.Network
的上下文中执行。
您可以将其修改为Ti.Network.HTTPClient.call(Ti.Network, params)
或var OAuthClient = Ti.Network.HTTPClient.bind(Ti.Network)
将使用预期的上下文调用Ti.Network.HTTPClient
方法。