如何使用参数作为异步函数(Javascript)编写同步函数?

时间:2017-06-28 20:45:47

标签: javascript asynchronous synchronous

假设我有以下代码:

同步版本:

    var waitingToGetValue = heavyProcessingFunc (para1, para2);
    response.send(waitingToGetValue);

我试着环顾四周,但我得到的只是没有参数的功能。

异步尝试:

    heavyProcessingFunc(para1, para2, (function(waitingToGetValue){
       response.send(waitingToGetValue);
    });

我需要将两个参数发送给该函数。该函数返回一个我需要使用的值,然后将其发送给响应。

如果我把它放在异步格式中,它是否重要?任何人都可以向我推荐一个可以轻松解释同步与异步差异的视频/来源:过去几天我阅读了很多材料,它只是让你越来越混淆承诺,回调以及尝试访问这些函数之外的值。

1 个答案:

答案 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);
    });