无法 "desynchronize" 函数
Cannot "desynchronize" function
我创建了一个 javascript 函数,它人为地“需要时间”工作(大约 2 或 3 秒)。这只是一个很长的“for 循环”。
我希望该功能不与其他功能同步。
我的意思是我想要快速完成并在脚本末尾调用的函数,我希望它的日志显示得太快。
我不想使用:setTimeOut、fetch、filopen...已经是“黑匣子”承诺...
我的意思是如果需要,同步 javascript 可以变成“异步”。
请问,我该怎么办?我想我将不得不使用异步和等待。
我的目的是请不要使用“promise”语句。目的是去同步化而不是得到任何结果值
这是代码:
var fullTime = function() {
var currentdate = new Date();
return (currentdate.getDate()+"/"+(currentdate.getMonth()+1)+"/" +
currentdate.getFullYear()+"-"+currentdate.getHours()+":"+
currentdate.getMinutes()+":"+currentdate.getSeconds());
};
var AfficherFullTime = function(argEvent) {console.log(argEvent + " " + fullTime()) ; } ;
var processTakesTime = function () {
var i = 0 ;
const max = 6000000 ;
for (i=1;i<=max;i++) {
if (i== max )
AfficherFullTime("loizAsynchrone > maximum value at ") ;
else
{
if (i == 1 )
AfficherFullTime("loizAsynchrone > maximum value at ") ;
else
fullTime();
}
}
} ;
var testNoCallBack = function() {
processTakesTime();
AfficherFullTime('first log');
};
testNoCallBack() ;
结果是:
loizAsynchrone > maximum value at........
loizAsynchrone > maximum value at............
first log ....................
应该是:
loizAsynchrone > maximum value at........
first log ....................
loizAsynchrone > maximum value at............
感谢给出答案的“Bergi”
问题(我问的):
“我的目标是不“必须使用”:setTimeOut、fetch、filopen ...经典 javascript 同步指令可以变为异步,因为它是必需的...我知道多任务工作 javascript 是一个线程只工作,但是通过 usinc async,是否可以找到解决方案?
Bergi 的解决方案/回答:
“不,不是。你不能在不实际使用异步函数的情况下使用 async/await。如果你需要同步(cpu 有限)代码到后台 运行,你需要一个单独的工作线程”
谢谢伯吉
我创建了一个 javascript 函数,它人为地“需要时间”工作(大约 2 或 3 秒)。这只是一个很长的“for 循环”。 我希望该功能不与其他功能同步。 我的意思是我想要快速完成并在脚本末尾调用的函数,我希望它的日志显示得太快。 我不想使用:setTimeOut、fetch、filopen...已经是“黑匣子”承诺... 我的意思是如果需要,同步 javascript 可以变成“异步”。
请问,我该怎么办?我想我将不得不使用异步和等待。 我的目的是请不要使用“promise”语句。目的是去同步化而不是得到任何结果值 这是代码:
var fullTime = function() {
var currentdate = new Date();
return (currentdate.getDate()+"/"+(currentdate.getMonth()+1)+"/" +
currentdate.getFullYear()+"-"+currentdate.getHours()+":"+
currentdate.getMinutes()+":"+currentdate.getSeconds());
};
var AfficherFullTime = function(argEvent) {console.log(argEvent + " " + fullTime()) ; } ;
var processTakesTime = function () {
var i = 0 ;
const max = 6000000 ;
for (i=1;i<=max;i++) {
if (i== max )
AfficherFullTime("loizAsynchrone > maximum value at ") ;
else
{
if (i == 1 )
AfficherFullTime("loizAsynchrone > maximum value at ") ;
else
fullTime();
}
}
} ;
var testNoCallBack = function() {
processTakesTime();
AfficherFullTime('first log');
};
testNoCallBack() ;
结果是:
loizAsynchrone > maximum value at........
loizAsynchrone > maximum value at............
first log ....................
应该是:
loizAsynchrone > maximum value at........
first log ....................
loizAsynchrone > maximum value at............
感谢给出答案的“Bergi”
问题(我问的): “我的目标是不“必须使用”:setTimeOut、fetch、filopen ...经典 javascript 同步指令可以变为异步,因为它是必需的...我知道多任务工作 javascript 是一个线程只工作,但是通过 usinc async,是否可以找到解决方案?
Bergi 的解决方案/回答: “不,不是。你不能在不实际使用异步函数的情况下使用 async/await。如果你需要同步(cpu 有限)代码到后台 运行,你需要一个单独的工作线程”
谢谢伯吉