I feel like I'm missing something here, but can't quite figure it out even after reading all the other Stackoverflow questions on nested promises.
Using selenium to get a text value of an element, I use that text later, but it's null unless I manually put in a wait...
var someText = "";
await driver.findElement(By.css("span[title='crazyValue']")).then(function (element) {
    element.getText().then(function (text) {
        console.log("someText : " + text);
        someText = text;
    });
});
//Use someText variable immediately and it's blank...  My current solution adds an await new Promise(resolve => setTimeout(resolve, 2000)); to delay execution...
How do I make the findElement promise also wait on the inner getText promise?
Per comment, this works:
var someText = "";
await driver.findElement(By.css("span[title='crazyValue']")).then(function (element) {
    return element.getText().then(function (text) {
        console.log("someText : " + text);
        someText = text;
    });
});
But also, I think written better it should be this:
var someText = "";
await driver.findElement(By.css("span[title='crazyValue']")).then(function (element) {
    return element.getText();
}).then(function (text) {
        console.log("someText : " + text);
        someText = text;
});
 
    