[英]How to add custom attributes to function callback Javascript
我有這個代碼
doPurchase = function(amount) {
transactionCompleteCallbackImpl.bind(this, amount);
iclient.initiatePurchase({
amount: amount,
cashout: '0',
integratedReceipt: true
}, {
statusMessageCallback: statusMessageCallbackImpl,
questionCallback: questionCallbackImpl,
receiptCallback: receiptCallbackImpl,
transactionCompleteCallback: transactionCompleteCallbackImpl
});
};
我不控制iclient代碼,因為它是從外部來源加載的,但是我希望添加交易金額(莫名其妙地不包含在transactionCompleteCallback返回的數據中):
transactionCompleteCallbackImpl = function(response, transactionAmount) {
console.log(transactionAmount);
return console.log(response);
};
這將首先記錄未定義的transactionAmount和原始響應數據
如您所見,我嘗試用這種方式讀取已讀取的綁定,但是我認為有些問題,因為我仍然無法訪問回調函數中的數據。 任何幫助將非常感激
Function.prototype.bind()
返回具有正確上下文( this
值)並在前面提供了參數的新函數。
因此,您可能只需將.bind()
行更改為:
transactionCompleteCallback = transactionCompleteCallback.bind(this, amount);
讓您更換transactionCompleteCallback
與綁定到正確值,以一個功能this
也就有了amount
的值,因為它是第一個參數。
bind()將創建一個新方法,但不會修改該方法,因此您的第一行應為
transactionCompleteCallbackImpl = transactionCompleteCallbackImpl.bind(this, amount);
試試吧!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.