Javascript 将解析值指定给全局变量-承诺
我决定使用承诺而不是回调 我解出一个包含价格的变量,然后调用。然后像这样处理它Javascript 将解析值指定给全局变量-承诺,javascript,promise,es6-promise,Javascript,Promise,Es6 Promise,我决定使用承诺而不是回调 我解出一个包含价格的变量,然后调用。然后像这样处理它 SomeAsyncThing("fifa 17").then(function(value){ console.log("value " + value); }); 如何将该值分配给全局变量以在JS中的其他地方使用 我错过了什么明显的东西吗?我尝试过定义x=0;在顶部,然后将值分配给x并调用console.log退出此函数,但我得到的是0而不是分配的值 如何将该值分配给全局变量以在JS中的其他地方使用 你
SomeAsyncThing("fifa 17").then(function(value){
console.log("value " + value);
});
如何将该值分配给全局变量以在JS中的其他地方使用
我错过了什么明显的东西吗?我尝试过定义x=0;在顶部,然后将值分配给x并调用console.log退出此函数,但我得到的是0而不是分配的值
如何将该值分配给全局变量以在JS中的其他地方使用
你不能。或者至少你不应该。在使用全局变量之前,您需要等待承诺兑现,但是如果没有承诺,您将不知道。因此,将promise本身分配给全局变量,无论您想在何处使用该值,只需使用.then()
1:你甚至可能成功地在全球范围内声明了var x
,但正如你所意识到的那样
如何将该值分配给全局变量以在JS中的其他地方使用
你不能。或者至少你不应该。在使用全局变量之前,您需要等待承诺兑现,但是如果没有承诺,您将不知道。因此,将promise本身分配给全局变量,无论您想在何处使用该值,只需使用.then()
1:您甚至可能通过全局声明
var x
成功地做到了这一点,但正如您所意识到的那样。这与回调问题完全相同。如果需要,节点中有一个名为global
的变量。(使用它可能是一种反模式。)这与回调问题完全相同。如果需要,节点中有一个名为global
的变量。(使用它可能是一种反模式。)