javascript:从promise then()函数内部传递值
我在控制台中有一个promise/global对象,其输出如下:javascript:从promise then()函数内部传递值,javascript,scope,promise,global-variables,Javascript,Scope,Promise,Global Variables,我在控制台中有一个promise/global对象,其输出如下: console.log(globalInfo); Promise __proto__:Promise [[PromiseStatus]]:"resolved" [[PromiseValue]]:globalInfo item1:"12345" item2:"something else" item3:"www.stackoverflow.com" _
console.log(globalInfo);
Promise
__proto__:Promise
[[PromiseStatus]]:"resolved"
[[PromiseValue]]:globalInfo
item1:"12345"
item2:"something else"
item3:"www.stackoverflow.com"
__proto__:Object
并且我成功地提取了“item2”的值,如下所示:
但是,我无法将该变量/值传递到then()
函数之外。对于第二个console.log(“newVar-outside”),没有任何输出到控制台
如何使变量“newVar”和“item2”的值在
then()
函数之外全局可用 异步代码是异步的。。。没有办法“捏造”代码使其像这样工作这看起来像是“如何返回异步回调”的重复?或者,逻辑应该存在于这个世界的内部。你不能在外面做。你基本上是在电话里点比萨饼,一打电话你就试着吃比萨饼。这不会发生,因为比萨饼需要制作和运送。这就是承诺所做的。它正在等门铃响。您需要等待,所以请分解代码,以便在比萨饼送达时调用它。
globalInfo.then(function(val) {
newVar = val.item2;
console.log('newVar inside: ' + newVar);
});
console.log('newVar outside: ' + newVar);