Я написал следующий код для изменения размера изображения: < /p> [code]Main().then(function(x) { console.log(x) });
Main=function() { Base64() .then(function(i) { ImageObject(i) }) .then(function(i) { x = Resize(i); NOW RETURN 'x' AS A PROMISE }) //*** }); }
function Base64(i) { //Generate base64 of the image let reader = new FileReader(); reader.readAsDataURL(imaginary.file()); return new Promise((resolve, reject) => { reader.onload = () => { resolve(reader.result) } }); }
function ImageObject(i) { //Load the image let img = new Image(0, 0); img.src = i; return new Promise((resolve, reject) => { img.onload = () => { resolve(img) } }); }
function Resize(i) { //Resize image and return base64 let canvas = document.createElement('canvas'); let canvasContext = canvas.getContext('2d'); canvas.width = 300; canvas.height = 200; canvasContext.drawImage(i, 0, 0, canvas.width, canvas.height); return canvas.toDataURL(); //Return the resized base64 } [/code] В строке с *** мне нужно вернуть x как обещание разрешить Main быть 'thenable'.