假设我有以下代码:
同步版本:
var waitingToGetValue = heavyProcessingFunc (para1, para2);
response.send(waitingToGetValue);
我试着环顾四周,但我得到的只是没有参数的功能。
异步尝试:
heavyProcessingFunc(para1, para2, (function(waitingToGetValue){
response.send(waitingToGetValue);
});
我需要将两个参数发送给该函数。该函数返回一个我需要使用的值,然后将其发送给响应。
如果我把它放在异步格式中,它是否重要?任何人都可以向我推荐一个可以轻松解释同步与异步差异的视频/来源:过去几天我阅读了很多材料,它只是让你越来越混淆承诺,回调以及尝试访问这些函数之外的值。
答案 0 :(得分:0)
function heavyProcessingFunc(para1, para2, callback){
console.log('We have two params to work with', para1, para2);
setTimeout(function(){// Simulating a long request
callback("Now we send the response by calling the callback"); // This is waitingToGetValue
},3000);
}
heavyProcessingFunc("para1", "para2", function(waitingToGetValue){
console.log(waitingToGetValue);
// response.send(waitingToGetValue);
});