Свифт 3 версии ответа @Alexey Globchastyy:
class func getGenres(completionHandler: @escaping (genres: NSArray) -> ()) {
...
let task = session.dataTask(with:url) {
data, response, error in
...
resultsArray = results
completionHandler(genres: resultsArray)
}
...
task.resume()
}
Оказывается, это как-то связано с установленным путем npm и узла. Я использовал NVM для установки обоих, чтобы они не были в том месте, где ожидал скрипт оболочки. Чтобы решить эту проблему, я сделал следующее:
sudo ln -s /home/ubuntu/.nvm/versions/node/v10.13.0/bin/npm /usr/local/bin/npm
sudo ln -s /home/ubuntu/.nvm/versions/node/v10.13.0/bin/node /usr/local/bin/node