Python Playwright 同步与异步 API 之间有何区别?
What are the differences between Python Playwright sync vs. async APIs?
我已经开始学习 playwright-python 并且包 playwright
有两个子模块 async_api
和 sync_api
。但是,我找不到关于它们各自优缺点的任何更深入的描述或讨论。根据他们的名字,我假设同步 API 调用是阻塞的,而异步调用 运行 在后台?
它们的功能是否不同,即在某些情况下 sync_api
无法完成您可以使用 async_api
完成的事情(反之亦然)?
sync_api
只是 asyncio_api
的包装器,它从您那里抽象出 asyncio 用法。因此,功能在很大程度上是相同的,但是 async_api
可能 在复杂的场景中提供更多的灵活性(例如,在以前的 playwright-python 中发布了在 Unix + Python 3.7 上以多线程方式 运行 实例的唯一方法是使用 async_api
,原因我不会在这里进入)。
虽然您可能不需要这种灵活性,所以我只是建议您使用您喜欢的任何东西。
我已经开始学习 playwright-python 并且包 playwright
有两个子模块 async_api
和 sync_api
。但是,我找不到关于它们各自优缺点的任何更深入的描述或讨论。根据他们的名字,我假设同步 API 调用是阻塞的,而异步调用 运行 在后台?
它们的功能是否不同,即在某些情况下 sync_api
无法完成您可以使用 async_api
完成的事情(反之亦然)?
sync_api
只是 asyncio_api
的包装器,它从您那里抽象出 asyncio 用法。因此,功能在很大程度上是相同的,但是 async_api
可能 在复杂的场景中提供更多的灵活性(例如,在以前的 playwright-python 中发布了在 Unix + Python 3.7 上以多线程方式 运行 实例的唯一方法是使用 async_api
,原因我不会在这里进入)。
虽然您可能不需要这种灵活性,所以我只是建议您使用您喜欢的任何东西。