Reputation: 1767
I have a promise in TypeScript that I want to fire when some data is loaded, but the .then is never reached. What am I doing wrong here?
private initHexagonalGrid(): Promise<void>
{
return new Promise(() =>
{
//load grid here...
Promise.resolve();
});
}
public generateWorld()
{
this.initHexagonalGrid().then(() =>
{
//never reached
console.log('grid loaded, world can load now...'));
};
}
Upvotes: 0
Views: 218
Reputation: 1220
Promise.resolve()
simply returns a new, resolved, promise. You need to use the resolve
parameter passed to the promise callback.
private initHexagonalGrid(): Promise<void>
{
return new Promise((resolve) =>
{
//load grid here...
resolve();
});
}
public generateWorld()
{
this.initHexagonalGrid().then(() =>
{
//never reached
// updated: you also had an extra closing paren below
console.log('grid loaded, world can load now...');
}); // <-- closing paren belonged here.
}
Upvotes: 4