目前,我试图弄清楚嵌套回调在Javascript中是如何工作的。但是在我的示例中,控制台不打印任何内容。这个例子很基本-应该打印字母:abc。
mac_sonuclari_url = "http://mservice.fanatik.com.tr/LeagueStage?TournamentID={}&includeFixture=1"
with urllib.request.urlopen(mac_sonuclari_url.format(1)) as url:
try:
data = json.loads(url.read().decode())
except Exception as err:
logging.error("{}: Error Getting URL: {} with Error: {}".format(fna, mac_sonuclari_url.format(1), err))
答案 0 :(得分:3)
在handleWithCallback
中,您通过传递参数来调用callback
函数,但请注意实际的getX
回调函数如何不使用该参数。他们应该以回调函数作为参数并调用它。
注意:我减少了超时延迟,因此您不必等待那么长时间即可看到结果:)
function getA(cb) {
return setTimeout(() => cb('a'), 100);
}
function getB(cb) {
return setTimeout(() => cb('b'), 200);
}
function getC(cb) {
return setTimeout(() => cb('c'), 300);
}
function handleWithCallback(callback1, callback2, callback3) {
callback1(a =>
callback2(b =>
callback3(c => console.log(a + b + c))
)
);
}
handleWithCallback(getA, getB, getC);