Я не понимаю, как эта функция, которая принимает аргумент arg, может быть вызвана без предоставления значения arg.Я предполагаю, что, поскольку метод loadStrings из библиотеки PS5 сделает асинхронный вызов, существует предположение о возвращаемых данных или сообщении, но я все же ожидал бы, что аргумент arg будет предоставлен в вызове функции, поскольку определение функции ожидает его.
Пытался найти объяснение этому в сети, но пока не может.
Это то, что используется и работает.
function setup() {
loadStrings("lines.txt", doText);
}
function doText(data) {
for (var i=0; i<data.length; i++) {
text(data[i], 5, 20*i+20);
}
}
Я подумал, что для предоставления аргумента для вызова doText мне придется обернуть его в анонимную функцию, чтобы предотвратить немедленное выполнение, добавив открытые парены после имени, а затем присвоив емуэто аргумент внутри оболочки.
function setup() {
loadStrings("lines.txt", function () {doText(data);});
}
function doText(data) {
for (var i=0; i<data.length; i++) {
text(data[i], 5, 20*i+20);
}
}
Так как данные магическим образом передаются в первом примере без фактического значения arg?