Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
22
rated 0 times [  24] [ 2]  / answers: 1 / hits: 16135  / 7 Years ago, sat, february 25, 2017, 12:00:00

I'm working with HTMLCanvas element that return the blob object outside of the async toBlob() function. This function doesn't return an output value, so I'm trying to declare a variable outside and access it through the command.



How I can use JS Promise for this scenario?





var myblob;
canvas.toBlob(function(blob) {
myblob = blob;
console.log(inside + myblob); // getting value after the console outside
})
console.log( outside + myblob); // getting undefined




More From » html

 Answers
98

You can use Promise constructor, pass Blob instance to resolve(), access Promise value at .then()



function getCanvasBlob(canvas) {
return new Promise(function(resolve, reject) {
canvas.toBlob(function(blob) {
resolve(blob)
})
})
}

var canvasBlob = getCanvasBlob(canvas);

canvasBlob.then(function(blob) {
// do stuff with blob
}, function(err) {
console.log(err)
});

[#58779] Thursday, February 23, 2017, 7 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ryderalfonsos

Total Points: 655
Total Questions: 88
Total Answers: 91

Location: Nauru
Member since Thu, Feb 2, 2023
1 Year ago
ryderalfonsos questions
Mon, Sep 9, 19, 00:00, 5 Years ago
Wed, Feb 13, 19, 00:00, 5 Years ago
Tue, Feb 12, 19, 00:00, 5 Years ago
Fri, Dec 28, 18, 00:00, 6 Years ago
;