如何在NPM软件包函数中制作全局变量



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

我想访问函数之外的变量IMG的值,以便使用全局变量尝试这样做。任何人都看到我的问题或有任何建议。

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) 
})

相关内容

  • 没有找到相关文章

最新更新