meteor - MeteorJS - Promise.await 阻塞
问题描述
在仅在服务器上运行的 Meteor 方法中,我包装了一个承诺,如下所示:
'my.method'(){
const instance = axios.create({baseURL: 'http://localhost'});
return Promise.await(instance.post('/endpoint', data));
}
它可以工作,但它是一个很长的请求(需要几分钟才能得到结果),并且当请求处于挂起状态时,应用程序被阻止:我仍然可以单击链接并更改路由并显示其他(React)组件,但所有数据流都会中断,直到请求返回。
知道我做错了什么吗?
解决方案
看起来你想在你的流星方法中使用 this.unblock() 。您可以在此处找到深入的解释。
'my.method'(){
this.unblock();
const instance = axios.create({baseURL: 'http://localhost'});
Promise.await(instance.post('/endpoint', data));
}
推荐阅读
- reactjs - 反应对象没有得到更新的 redux 存储值
- hsts - 如何在过时的 SSL 上访问受 HSTS 保护的私人网页?
- amazon-web-services - 为什么私有子网中的 EMR 需要完整的出站 Internet 访问权限
- java - 如何使用 Java 调用支持 RQL(资源查询语言)的 REST API
- html - Favicon 未反映在 iPhone/iOS 移动设备上
- ffmpeg - FFmpeg:将文件夹中的所有音频(mp3)批量转换为带有专辑插图的视频(mp4)(但它会缩小我的分辨率)
- appium - 根据需要使用哪个自动化引擎在 appium 中的能力?
- ionic-framework - 离子原生 api 不能与 vue 一起使用,如何实现呢?
- php - 获取在 guzzle 中工作但不在 curl 中的请求
- python - 错误 Apache Kafka ubuntu vagrant-adverted.listeners 和 listeners