There is no need to use Promise.resolve() when creating a new promise.
The usual way to create a promise is to make a function that returns the promise:
function myFunc() {
   return new Promise((resolve, reject) => {
       // your async logic here
   });
}
Then, you call it like this:
myFunc().then(result => {
    // code that uses async result here
});
And, you have put your promise creation logic into a reusable function.  
It is possible (though usually less practical) to create a new promise without putting it in a containing function.  For example, you can do this:
new Promise((resolve, reject) => {
    // async logic here that eventually calls resolve or reject
}).then(result => {
    // process async result here
}).catch(err => {
    // process error here
});