我要求将Promise的返回值存储到全局变量中,我正在尝试以下方式 -
this.getData().then(data => {
this.gloabalData = data;
});
// Doing Operation with globalData
但问题是在用数据更新globalData的值之前,它采用了globalData的默认值。这意味着在处理getData操作之前,控件会关闭并使用之前的globalData值。那么,在完成所有任务之前,有没有办法在getData函数中保持控件?
答案 0 :(得分:1)
这是不可能的。
何时
// Doing Operation with globalData
达到但尚未有data
data => {
this.gloabalData = data;
}
是您在then()
完成结果时传递给getData()
的函数。
// Doing Operation with globalData
在getData()
完成之前执行loooooong(如果是服务器调用)。
只做
this.getData().then(data => {
this.gloabalData = data;
// Doing Operation with globalData
});
或
this.getData().then(data => {
this.gloabalData = data;
}).then(data => {
// Doing Operation with globalData
});