It's not clear to me how is it possible in nodeJS to allow the process update, for example:
var cancelled = false;
setTimeout(() => cancelled = true,1000);
function main()
{
var ret = []
var totalStart =Date.now();
for(var i=0;i<20;i++) {
var v
var start = Date.now();
while((Date.now()-start)<100)
{
v = Math.sqrt(Math.random());
}
ret.push(v);
if(cancelled) break;
}
console.log("delta:"+(Date.now()-totalStart));
return ret;
}
var r = main()
console.log(r.length)
The programs ends after 2000ms but, because of the timeout, it should finish after 1000ms... What is not working properly?