javascriptでオブジェクトのインスタンスを作成したいと思います。私は別のクラスのコンストラクタに2つの関数参照を渡そうとします。しかし、それは以下のようなエラーがスローされます:コンストラクタへの2つの関数参照を渡すとJavaScriptエラーが発生する
this.onFailFunctionは
機能ではありません。しかし、私は一つの基準(するonSuccess)を渡すと、それは動作します。違いは何ですか?
index.htmlを
<script>
function onSuccess(data, message)
{
console.log(data);
console.log(message);
}
function onFail(data, message, errorCode)
{
console.log(data);
console.log(message);
console.log(errorCode);
}
var callBack = new EbookCallBack(onSuccess, onFail);
callBack.mainCallback.callSuccessFunction({success:false, message:"Wovvv", errorcode:1, data:"asdsa"});
</script>
ebookcallback.js
class EbookCallBack
{
constructor(onSuccessFunction, onFailFunction)
{
this.onSuccessFunction = onSuccessFunction;
this.onFailFunction = onFailFunction;
this.mainCallback = new CallBack(this.onSuccess, this.onError);
}
onSuccess(result)
{
if(result.success)
{
this.onSuccessFunction(result.data, result.message);
}
else
{
this.onFailFunction(result.data, result.message, result.errorcode);
}
}
onError(message)
{
if(this.onErrorFunction !== undefined)
{
this.onErrorFunction(message);
}
}
}
maincallback.js
class CallBack
{
constructor(onSuccessFunction, onErrorFunction)
{
this.onSuccessFunction = onSuccessFunction;
this.onErrorFunction = onErrorFunction;
}
callSuccessFunction(data)
{
this.onSuccessFunction(data);
}
callErrorFunction(message)
{
this.onErrorFunction(message);
}
}
これは正しい答えですが、私は 'bind'を嫌いです! –
ありがとうございます。出来た。 :)) – hkaraoglu