是否可以在异步函数中递归调用该函数的无名回调函数?
这是伪代码,但我的想法是我想重新调用失败的 http 请求。
function(err, res) { //parent callback
request.get(URL, function(err, res) {
if (err == 209) { //call the nameless parent function but how?
}
});
}
最佳答案
我认为没有办法用无名函数来做到这一点,但为什么不给它一个名字呢?
function doRequest(err, res) {
request.get(URL, function(err, res) {
if (err==209) {
doRequest();
}
});
}
您仍然可以将此函数用作内联回调,就像使用匿名函数一样,它只是碰巧有一个名称。例如:
setTimeout(function doRequest(err, res) { ... }, 200 );
或者,如果您直接调用它,您可以在 IIFE 内创建它以避免将其名称泄漏到您当前的范围内。
关于javascript - 是否可以在 JavaScript 中递归调用 'this' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062936/