gpt4 book ai didi

javascript - 如何将附加参数传递给现有的回调函数

转载 作者:行者123 更新时间:2023-11-30 00:11:12 25 4
gpt4 key购买 nike

虽然这应该是一个相对常见的问题,但我找不到答案。所有其他问题似乎都与简单地向空闭包添加变量有关。

我有一个带有两个参数的回调; errdocs,我仍然需要,但还想添加一个附加参数 `data.

db.findOne().exec(function (err, docs) {
// err is defined
// docs is defined
});

我需要将 data 与它一起传递,所以假设我可以这样做:

db.findOne().exec(function (err, docs, data) {
// err is defined
// docs is defined
}(data));

这行不通。所以,我尝试了以下方法:

db.findOne().exec(function (err, docs, data) {
// err is null
// docs is null
}(null, null, data));

这也杀死了原始变量 errdocs

那么,我该怎么做呢?

最佳答案

您可以简单地在回调中使用 data 变量,只要该变量在外部作用域中定义(就在调用 db.findOne() 方法之前) :

var data = ...
db.findOne().exec(function (err, docs) {
// err is defined
// docs is defined
// data is defined
});

关于javascript - 如何将附加参数传递给现有的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36419712/

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