2016-08-04 10 views
0

私は自分のカスタムOauthClientを既に利用可能なTi.Network.HTTPClientに組み込みたいと思います。Appcelerator TitaniumはカスタムHTTPClientを書きます

は、私は次のコードでそれを継承しようとしました:

function OAuthClient (params) { 

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

} 

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

が、私は

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

を次のように新しいOAuthClientを作成しようとするとなった次のエラー:

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

TitaniumにカスタムHttpClientを書き込む正しい方法はどれですか?

ありがとうございます!

+0

このプロジェクトを探してみましたか:https://github.com/viezel/napp.alloy.adapter.restapi – developer82

答えて

0

あなたは、コンテキスト(文脈window)としてthisを設定しているが、HTTPClientが呼び出されたとき、彼はTi.Networkのコンテキスト内で実行されることを望んでいます。

あなたはそれがTi.Network.HTTPClient.call(Ti.Network, params)またはvar OAuthClient = Ti.Network.HTTPClient.bind(Ti.Network)

に変更修正することができ、Ti.Network.HTTPClient方法が期待されるコンテキストで呼び出されます。

+0

こんにちは、ありがとうございます – revy

関連する問題