繁体   English   中英

如何在npm包函数中创建全局变量

[英]How to make a global variable within a npm package function

我正在使用npm papercut https://www.npmjs.com/package/papercut ,我想访问papercut函数中的变量值。 到目前为止,这就是我所拥有的。

我想在函数外部访问变量Img的值,这里的变量NewImg我试图使用全局变量来实现。 任何人看到我的问题或有任何建议。

 var NewImg = {} uploader.process('image1', file.path, function(images){ var Img = images.avatar NewImg.input = Img console.log(Img); }) console.log(NewImg.input) 

这注销未定义

看起来像一些异步代码。 可能未在console.log()之前调用回调,因此您的NewImg.input是未定义的。

同样, var NewImg.input = Img在语法上不正确,请删除var

更新

阅读有关异步javascript的更多信息: 异步Javascript

var NewImg = {}

uploader.process('image1', file.path, function(images){
  // I'm a callback function in an asynchronous method!
  // I will run sometime in the future!
  var Img = images.avatar
  NewImg.input = Img
  console.log(Img);
})
// Oh no! I ran before the callback function in the *asynchronous* method above, before NewImg.input is assigned any value
console.log(NewImg.input) 

如果在函数内部使用var ,则在函数内部使用相同的名称创建新变量。 因此,您的代码应为:

var NewImg = {}

uploader.process('image1', file.path, function(images){
  var Img = images.avatar;
  NewImg.input = Img;
  console.log(Img);
  console.log(NewImg.input) 
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM