我应该在 NextJS 中等待 Router.push

Mik*_*e M 6 reactjs next.js next-router

我正在使用 NextJS,import Router from 'next/router';我用来在页面之间导航的方法是Router.push('/some-page');This method is async,但是,它无需我添加即可工作await Router.push('/some-page');我是否正确使用了它?我真的不想执行低于此点的任何代码,因为我实际上只是重定向用户。我在官方文档中找不到任何有用的东西。

L_C*_*leo 3

Router.push方法返回一个promise,这意味着它是一个异步操作。但是,如果您没有任何应等待导航的代码,则不一定需要将await 与Router.push 一起使用

通过不等待承诺,您基本上不需要等待导航完成就可以继续执行下一行代码。在您想要触发导航同时继续执行后续代码而不等待导航完成的情况下,这仍然很有用。

同样,如果在您的情况下,这是您调用该方法的最后一行代码push,那么您是否等待返回的承诺并不重要

如果您的代码只能在导航完成后执行,例如更新状态或在新页面上获取数据,那么您将需要使用等待或以不同的方式处理导航完成。

那么你应该等到什么时候呢?如果您的代码只能在导航完成后执行,例如更新状态或在新页面上获取数据