console.log1234 如何同步
how console.log1234 in synchronous way
如何在这个函数中控制1234。使用等待或异步。现在它记录 1243。它应该在 3 之前等待,然后记录 4。
function Call(){
console.log('1');
console.log('2');
setTimeout(()=>console.log('3'),1000);
console.log('4');
}
Call();
正如评论中所建议的,这里的关键是创建一个基于承诺的 setTimeout
as described here:
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
然后使您的函数成为 async
函数和 await
超时:
async function call(){
console.log('1');
console.log('2');
await delay(1000);
console.log('3');
console.log('4');
}
call();
通常,您想处理错误,但我们知道上面不能抛出任何错误,所以...
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
async function call(){
console.log('1');
console.log('2');
await delay(1000);
console.log('3');
console.log('4');
}
call();
how console.log1234 in synchronous way
注意上面让函数中的逻辑同步了,但是代码并没有同步执行。 call
returns 从 await
开始,然后在计时器触发并确定承诺后恢复。
如何在这个函数中控制1234。使用等待或异步。现在它记录 1243。它应该在 3 之前等待,然后记录 4。
function Call(){
console.log('1');
console.log('2');
setTimeout(()=>console.log('3'),1000);
console.log('4');
}
Call();
正如评论中所建议的,这里的关键是创建一个基于承诺的 setTimeout
as described here:
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
然后使您的函数成为 async
函数和 await
超时:
async function call(){
console.log('1');
console.log('2');
await delay(1000);
console.log('3');
console.log('4');
}
call();
通常,您想处理错误,但我们知道上面不能抛出任何错误,所以...
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
async function call(){
console.log('1');
console.log('2');
await delay(1000);
console.log('3');
console.log('4');
}
call();
how console.log1234 in synchronous way
注意上面让函数中的逻辑同步了,但是代码并没有同步执行。 call
returns 从 await
开始,然后在计时器触发并确定承诺后恢复。