首页 > 解决方案 > MeteorJS - Promise.await 阻塞

问题描述

在仅在服务器上运行的 Meteor 方法中,我包装了一个承诺,如下所示:

'my.method'(){
    const instance = axios.create({baseURL: 'http://localhost'});
    return Promise.await(instance.post('/endpoint', data));

}

它可以工作,但它是一个很长的请求(需要几分钟才能得到结果),并且当请求处于挂起状态时,应用程序被阻止:我仍然可以单击链接并更改路由并显示其他(React)组件,但所有数据流都会中断,直到请求返回。

知道我做错了什么吗?

标签: meteor

解决方案


看起来你想在你的流星方法中使用 this.unblock() 。您可以在此处找到深入的解释

'my.method'(){
    this.unblock();
    const instance = axios.create({baseURL: 'http://localhost'});
    Promise.await(instance.post('/endpoint', data));
}

推荐阅读