gpt4 book ai didi

javascript - 如何向函数回调 Javascript 添加自定义属性

转载 作者:行者123 更新时间:2023-11-28 19:14:48 27 4
gpt4 key购买 nike

我有这个代码

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,然后记录原始响应数据

正如你所看到的,我已经尝试过我读过的绑定(bind)可以以这种方式使用,但我认为有些问题,因为我仍然无法访问回调函数中的数据。任何帮助将不胜感激

最佳答案

Function.prototype.bind()返回一个带有正确上下文(this 值)并预先提供的参数的函数。

因此您可能只需将 .bind() 行更改为:

transactionCompleteCallback = transactionCompleteCallback.bind(this, amount);

这样您就可以将 transactionCompleteCallback 函数替换为绑定(bind)到 this 的正确值的函数,并且将具有 amount 值。第一个参数。

关于javascript - 如何向函数回调 Javascript 添加自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30090930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com