最近在写CRMEB OA管理系统的客户列表模块有个需求,保存客户并继续添加合同和保存合同并继续添加付款记录,这个页面跳转简单,但是比较难的是调接口后拿着接口返回的数据要同步到下一个页面,这一部分当时写的时候遇到的问题主要是:保存成功后页面已经跳转到下一个,但是保存接口返的客户id在下一个页面一直打印不出来,打印值为undefined。最后想了一下就是异步和同步的问题。使用Promise完美解决。
1. Promise是一个容器,保存着某个未来才会结束的事件(异步操作)的结果。
2. Promise有三种状态:pending(进行时),fulfilled(成功)和reJect(失败),只有异步操作的结果可以改变promise的状态,一旦promise从pending状态转化为fulfilled和reJect后就不会再改变。
3. 使用:
4. 项目中使用
这样子就会把异步变成同步,在开发中如果还有疑问可以在下方留言。