JavaScript回调函数return传值

JavaScript callback function return value pass

我厌倦了 return 回调函数中的值。 我如何在这段代码中 return 值?

let image = new Image();
image.onload = function createResolation() {
  var width = this.width;
  var height = this.height;
  return width, height;
};
image.src = URL.createObjectURL(image);

createResolation();

我喜欢对 return 多个值做的只是 return 一个对象。

所以使用你的例子,你会:

let image = new Image();
let myImage = {};

image.onload = function (dimensions) {
    var width = dimensions.width;
    var height = dimensions.height;
    
    //Option A (move your "constructor code" to another function)
    createResolution(width, height)
    
    //Option B
    myImage.width = width;
    myImage.height = height;
};

image.src = URL.createObjectURL(image);

function createResolution(width, height) {
    //Here you can store the dimensions 
    myImage.width = width; 
    myImage.height = height;
});

这更像是您要完成的工作:

let image = new Image();

function createResolution (dimensions) {
    this.width = dimensions.width;
    this.height = dimensions.height;
};

image.onload = createResolution;