正如标题所述,我使用discord.py创建了一个简单的bot,它可以响应一系列命令(为简洁起见,代码已被截断):
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix = '!')
@bot.command()
async def respond_to_me(ctx):
my_list = [1, 2, 3, 4]
for item in my_list:
if item == 1: await ctx.send("You said one")
elif item == 2: await ctx.send("You said two")
elif item == 3: await ctx.send("You said three")
elif item == 4: await ctx.send("You said four")
else: pass
bot.run(bot_token)
但是,用my_list = [1, 2, 3, 4]
执行代码有时会返回以下响应(随着重复执行,该响应会随机变化):
"You said one"
"You said three"
"You said two"
"You said four"
发生了什么事?我不明白简单的代码在每次执行时如何返回不同的结果?我该怎么做才能防止这种情况发生?
答案 0 :(得分:1)
一个大概的解决方案是在每次迭代之后花一点时间Project
|--ModuleA (android application)
|--src/test/...
|--build
|--reports
|--tests
|--index.html (testresults)
|--..
|--..
|--ModuleB (android library)
|--src/test/...
|--build
|--reports
|--tests
|--index.html (testresults)
|--..
|--..
|--ModuleC (android library)
|--src/test/...
|--build
|--reports
|--tests
|--index.html (testresults)
|--..
|--..
(需要asyncio.sleep()
),因此每个请求都有时间以正确的顺序进行处理。