Интерфейс Typescript со свойством callback - PullRequest
0 голосов
/ 27 сентября 2018

Как извлечь обратный вызов robotCall в аргументе моего runRobot метода в интерфейс?Я пробовал что-то вроде

interface RobotCall {
  call: ((state: VillageState, memory: string[]) => Robot)
}

Но продолжаю получать ошибку TypeError.Вот полная функция, которую я использую. Я хочу использовать интерфейс.

export function runRobot(
  state: VillageState,
  robotCall: ((state: VillageState, memory: string[]) => Robot),
  memory?: string[]): void {

  for (let turn = 0; ; turn++) {
    if (state.parcels.length === 0) {
      console.log('='.repeat(5), `${robotCall.name} done in ${turn} turns`, '='.repeat(5));
      break;
    }

    let robot = robotCall(state, memory);
    state = state.move(robot.direction);
    memory = robot.memory;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...