Я получил эту ошибку много раз раньше. И я уверен, что все программисты PHP по крайней мере однажды получили эту ошибку. Чтобы решить эту ошибку, вы можете решить использовать решение по вашему уровню проблемы:
Возможное решение 1:
Возможно, вы оставили пробелы до или после (в конце файла после?>) ie
THERE SHOULD BE NO BLANK SPACES HERE
DO CHECK FOR BLANK SPACES HERE AS WELL; THIS LINE (blank line) SHOULD NOT EXIST.
В большинстве случаев это должно решить вашу проблему. Проверьте все файлы, связанные с файлом require
.
Примечание: Иногда EDITOR (IDE), например gedit (редактор linux по умолчанию), добавляет одну пустую строку в файл save save. Этого не должно быть. Если вы используете linux. вы можете использовать редактор VI для удаления пробела / строк после?> в конце страницы.
Если это не ваш случай, тогда вы можете использовать ob_start для буферизации вывода, как показано ниже:
Возможное решение 2:
Конечно, это можно сделать. Вам просто нужно вызвать функцию, переданную с необходимыми параметрами. Вы вычислите параметр ele, а затем передадите его функции. Ниже приведен общий пример того, как он работает:
const functionToBeCalled = (parameter1, parameter2) => {
console.log(parameter1 + parameter2);
}
const ct = (fx) => {
//..code
let ele = 1;
fx(ele, 2);
//..code
};
ct(functionToBeCalled);
Вы были очень близки вашему подходу. Он должен выглядеть примерно так:
const someFunction = (x) => new Promise((resolve) => resolve(x));
const ct = (arr, fn) => {
const promises = arr.filter(x => x).map(x => fn(x));
Promise.all(promises).then(x => console.log(x));
};
ct([1, 2, 3], someFunction);
(Я также взял на себя смелость заменить ваш цикл более компактным подходом.)