Вы заявили свою функцию как friend
. Это не член класса. Вы должны удалить Matrix::
из реализации. friend
означает, что указанная функция (которая не является членом класса) может обращаться к частным переменным-членам. Способ реализации функции подобен методу экземпляра для класса Matrix
, который является неправильным.
Попробовать отладить его через Promise.each()
, возможно? Поскольку итерация последовательная, вы будете знать, какой Promise вас беспокоит.
Во-вторых, было бы здорово, если бы вы указали вспомогательную функцию.
В-третьих, почему with
? Если вы проверяете MDN - с помощью , в нем четко указано , и я цитирую :
Использование оператора
BLOCKQUOTE>with
не рекомендуется, так как это может быть источник запутанных ошибок и проблем совместимости. Это имеет противоречие с двусмысленностью. Операторwith
затрудняет для читателя или компилятора JavaScript решение о том, будет ли найдено неквалифицированное имя в цепочке областей действия, и если да, то в каком объекте.
Несоответствующие результаты объясняются тем, что обещания разрешаются асинхронно
, это может помочь