函数

时间:2017-01-06 07:52:07

标签: javascript fabricjs

从JavaScript中的函数复制对象时遇到问题。

我有脚本:

的JavaScript

var _img;
fabric.Image.fromURL('phone.png', function(img){
    img.setWidth(320);
    img.setHeight(615);
    img.setLeft(0);
    img.setTop(0);
    canvas.insertAt(img, 0);
    img.set('evented', false);
    _img = Object.assign({}, img);
    console.log(_img);
});

console.log(_img);

问题是,第二个console.log结果是undefined。我想将对象从img复制到_img。如何以正确的方式做到这一点? 谢谢。

修改: 谢谢。我从这里找到了解决方案:How do I return the response from an asynchronous call?。现在我可以从异步调用中获取返回值,这里是代码:

function addImage(callback){
  fabric.Image.fromURL('phone.png', function(img){
      callback (img);
  });
}


var _img;
addImage(function(result){
  _img = result; 
  console.log(_img); // result is ok
})
console.log(_img); // result still undefined

但是,我仍然可以将result传递给_img对象。我该怎么办?

0 个答案:

没有答案