猫史档案馆


不会报错的等待一秒的代码怎么写?

用户:冰糖葫芦_冰糖葫芦_查看:327 回复:7 评论:8 创建时间:2021-10-06T15:36:16


不会报错的等待一秒的代码怎么写?


回复

上一页第 1 页 / 共 1 页下一页
星星上的雪花星星上的雪花

用async函数里

点赞0


评论

sleep()


源码极客源码极客

首先你要在需要用到等待一秒的接入API上用到async关键词,然后使用下面这行代码就可以了

await sleep(1000)//这里的1000单位是毫秒,1000毫秒=1秒

比如你要在玩家进入地图后等待一秒再执行下面的代码,就可以这样写:

world.onPlayerJoin(async({entity}) => {//这里async关键词在参数设置前面,告诉API 
                                       //程序中需要用到等待功能
    await sleep(1000)//让程序等待1000毫秒(1秒)
    //这里就是等待过后的代码了,此处省略,可以按照自己要实现的功能随意填写
})

注意,如果要使用等待的指令,前面必须加上async关键词,我想贴主就是因为没有加才导致出错了吧?

这里科普一下,await后面不仅能使用sleep关键词,还可以让程序等待他后面的程序执行完后在执行下面的代码。比如神岛中对话框API,它是触发了对话框启动后立即执行下方代码,不管对话框是否被关掉,那么使用await关键词就可以让程序等待对话框被关掉后在继续执行下方代码,这个技巧用于让玩家通过对话框来选择内容的程序非常好,所以一定要记下来

点赞1


评论

当然也有可能是因为贴主一位sleep里面填的是秒,所以填成await sleep(1)了,这里要注意sleep里面填的是毫秒,1000毫秒才等于一秒,所以正确的应该这样写:await sleep(1000)

毫秒和秒()()我永远都分不清()()

还得加个async。

……


神奇代码岛被封的剑过无声神奇代码岛被封的剑过无声

await sleep(1000)

注意,必须要有async。

点赞0


评论


植物月光花植物月光花

如下

async function miao(){//要写在异步函数里
    await sleep(1000)//1000毫秒=1秒
    world.say("已过1秒")
    await sleep(1000)
    world.say("已过1秒")
}

miao()//调用函数

点赞1


评论


神奇代码岛被封的剑过无声神奇代码岛被封的剑过无声

async function miao{  //定义函数名称
    await sleep(1000)//单位:毫秒
    world.say('一秒过去了')//通知一秒过去了
} 

点赞0


评论

少了个括号哦~


蓝矮爱乐蓝矮爱乐

//这段代码要放到异步函数里(async函数),才不会报错
await new Promise((resolve)=>{setTimeout(()=>{resolve()},1000)})

点赞0


评论

还不如用await sleep呢(doge

这个promise可以用来不只是await的,杀鸡用牛刀了


快乐的皮卡丘A快乐的皮卡丘A

await 必须用在 async函数里

点赞0


评论