2016-08-04 87 views
0

Ich möchte meinen eigenen OauthClient auf dem bereits verfügbaren Ti.Network.HTTPClient eingebaut schreiben.Appcelerator Titanium schreibe benutzerdefiniert HTTPClient

Ich habe versucht, von ihm mit dem folgenden Code zu erben:

function OAuthClient (params) { 

    Ti.Network.HTTPClient.call(this, params); 

} 

OAuthClient.prototype = Object.create(Ti.Network.HTTPClient.prototype); 
OAuthClient.prototype.constructor = Ti.Network.HTTPClient; 

aber wenn ich versuche, einen neuen OAuthClient zu erstellen, wie

var client = new OAuthClient({ 
    onload: function() {}, 
    onerror: function() {} 
}); 

folgt erhielt ich die folgenden Fehler:

[ERROR] : TypeError: Illegal invocation 
[ERROR] : File: app.js 
[ERROR] : Line: undefined 
[ERROR] : SourceId: undefined 
[ERROR] : Backtrace: 
[ERROR] : undefined 

Welches ist der richtige Weg, um einen benutzerdefinierten HttpClient in Titanium zu schreiben?

Danke!

+0

Haveyou versucht, in dieses Projekt zu suchen: https://github.com/viezel/napp.alloy.adapter.restapi – developer82

Antwort

0

Du this als Kontext (window Kontext) Einstellung, aber wenn HTTPClient genannt wird, hofft, dass er im Zusammenhang mit Ti.Network ausgeführt werden.

Sie können beheben es Ti.Network.HTTPClient.call(Ti.Network, params) oder var OAuthClient = Ti.Network.HTTPClient.bind(Ti.Network) Wechsel

Und die Ti.Network.HTTPClient Methode wird mit einem erwarteten Kontext aufgerufen werden.

+0

Hallo, danke, aber ich habe das gleiche Problem sogar den Kontext ändern – revy