I have an Object where the key is a stringified object and the value is a Promise that eventually resolves to a font object.
I use Promise.all
to wait for them all to resolve.
After this, I log the object in console and it looks like:
{ '{"family":"Roboto","style":"Regular","postscriptName":"Roboto-Light"}': Promise { { family: 'Roboto', style: 'Regular', postscriptName: 'Roboto-Light' } }, '{"family":"Roboto","style":"Regular","postscriptName":"Roboto-Medium"}': Promise { { family: 'Roboto', style: 'Bold', postscriptName: 'Roboto-Bold' } } }
I want to enumerate through the object to ensure each postscript name in they key matches the one in the value:
let allPostscriptNamesMatch = true; for (const font in myObj) { const parsedFont = JSON.parse(font); if (parsedFont.postscriptName !==) myObj[font].postscriptName) { allPostscriptNamesMatch = false; } }
my problem is: myObj[font].postscriptName
is empty because it’s wrapped in a Promise. How can I get access to that?
Advertisement
Answer
You would use .then
:
myObj[font].postscriptName.then(name => { if (parsedFont.postscriptName != name) { allPostscriptNamesMatch = false; } });