如何在Node.js v9+;使用ES6
2018年,调制解调器节点的版本为9或10,也就是说,接受的答案不再是好的。因此,我再次问它,根据 现在答案的标准是使用现有的ES6和Node.js v9+功能,而不需要任何额外的软件包 我在@treecoder找到了答案 特别有趣,但我就是不能让它在我的案例中起作用:如何在Node.js v9+;使用ES6,node.js,ecmascript-6,wait,sleep,Node.js,Ecmascript 6,Wait,Sleep,2018年,调制解调器节点的版本为9或10,也就是说,接受的答案不再是好的。因此,我再次问它,根据 现在答案的标准是使用现有的ES6和Node.js v9+功能,而不需要任何额外的软件包 我在@treecoder找到了答案 特别有趣,但我就是不能让它在我的案例中起作用: $ node > const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)) > const waitThenDo = asy
$ node
> const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
> const waitThenDo = async (howLong, doWhat) => await sleep(howLong*1000).then(doWhat)
> waitThenDo(1, console.log(2))
2
Promise {
<pending>,
...
$node
>const sleep=ms=>newpromise(解析=>setTimeout(解析,ms))
>const waitThenDo=async(howLong,doWhat)=>等待睡眠(howLong*1000)。然后(doWhat)
>waitThenDo(1,console.log(2))
2.
允诺{
,
...
也就是说,waitThenDo
立即进行打印,没有任何延迟
我做错了什么,和/或等待/睡眠的最佳最新技术是什么?承诺的then方法需要一个功能:
waitThenDo(1, () => console.log(2))
您也可以这样做:
const waitThenDo = async (howLong, doWhat) => {
await sleep(howLong*1000)
doWhat()
}
waitThenDo(1, () => console.log(2))
仅供参考:@notation to ping someone只有在他们对这个特定问题写了答案或评论的情况下才起作用。你不能在这里随意联系某人;这里不是聊天室或社交网站。向一个人提问也不合适。如果你想个性化你的问题,请雇佣一名c您可以直接与之通信的承包商。好的。谢谢您的友好解释。
doWhat
需要是回调函数。请尝试异步函数waitAndLog(){wait sleep(1000);console.log(2);}