async prompt(questions = []) {
    for (let question of [].concat(questions)) {
      try {
        if (typeof question === 'function') question = await question.call(this);
        await this.ask(utils.merge({}, this.options, question));
      } catch (err) {
        return Promise.reject(err);
      }
    }
    return this.answers;
  }
Prompt function that takes a "question" object or array of question objects,
and returns an object with responses from the user.

```js
const Enquirer = require('enquirer');
const enquirer = new Enquirer();

const response = await enquirer.prompt({
  type: 'input',
  name: 'username',
  message: 'What is your username?'
});
console.log(response);
```
@name prompt()
@param {Array|Object} `questions` Options objects for one or more prompts to run.
@return {Promise} Promise that returns an "answers" object with the user's responses.
@api public