gpt4 book ai didi

javascript - 回调 - 第二次回调后出现错误

转载 作者:行者123 更新时间:2023-12-03 08:03:26 36 4
gpt4 key购买 nike

我正在学习回调,我编写了以下代码:

var http = require('http');
var str = "";
var count = 2;
function jugglingAsync(callback){
http.get(process.argv[count], function(response){
response.on("data", function(data){
str+=data.toString();
})
response.on("end", function(){
console.log(str);
str = "";
count++;
if(count<5) callback();
})
})
}
jugglingAsync(jugglingAsync);

它应该收集 3 个作为命令行参数给出的 URL 地址。问题是 - 当第一个回调工作正常并打印出良好的结果时,第二个回调给我一个错误:

            if(count<5) callback();
^

TypeError: callback is not a function
at IncomingMessage.<anonymous> (/home/dzikichrzan/Gdrive/Programowanie/JavaScript/learnyounode/jugglingAsync.js:13:16)
at emitNone (events.js:73:20)
at IncomingMessage.emit (events.js:167:7)
at endReadableNT (_stream_readable.js:906:12)
at nextTickCallbackWith2Args (node.js:455:9)
at process._tickCallback (node.js:369:17)

为什么这个函数只能运行一次才能正常?

最佳答案

您正在调用 jugglingAsync

if(count<5) 回调();

不带参数,需要一个参数作为回调函数

关于javascript - 回调 - 第二次回调后出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501323/

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