gpt4 book ai didi

javascript - JavaScript 中的转发函数?

转载 作者:太空宇宙 更新时间:2023-11-04 02:49:21 25 4
gpt4 key购买 nike

我正在为数据库 API 编写一个小型包装器以添加自定义功能。

我只想按原样使用view函数而不修改,所以我尝试分配该函数:

core.db.view = bucket.view;

该函数似乎可以工作,但出现 HTTP 错误。如果我包装该函数,一切都会正常,但我更喜欢只分配该函数。

core.db.view = function (a, b, c) {
return bucket.view(a, b, c);
};

有什么想法吗?

最佳答案

下面两个调用之间的唯一区别是它们执行的上下文:

core.db.view = bucket.view;
bucket.view() // 'this' will be bucket
core.db.view() // 'this' will be core.db

解决方案:

core.db.view = bucket.view.bind(bucket);

PS:bind 方法的工作方式与您自己包装函数的方式类似。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

关于javascript - JavaScript 中的转发函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20099859/

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