Flask выполняется на сервере. Браузер посылает серверу запрос на страницу с Flask кодом. Сервер отдает эту страницу на исполнение интерпретатору Flask, интерпретатор генерирует HTML код, отдает серверу, а сервер посылает клиенту. Никакого Flask кода в браузер не попадает (это важно! Это значит, что увидеть исходный код Flask скрипта невозможно!). Единственный способ отправить что-то скрипту - это кликнуть по ссылке или нажать на кнопку в форме. Так, чтобы Flask обрабатывал какие-то действия пользователя в браузере - невозможно. Flask остался на сервере, ждать новых запросов с данными для обработки. Flask, но не скрипт! Скрипт, который выполнялся, отдавая пользователю страницу, завершил работу. Все данные, которые были в нем - пропали. Именно поэтому, если какая-то переменная нужна при последующих вызовах скрипта, ее надо этому скрипту передать снова.
[1, 2, 3, 4].reduce((sum, val) => { return sum + val }, 0)
// → 10
['foo', 'bar', 'quux'].reduce((obj, key) => { obj[key] = true; return obj; }, {});
// → { foo: true, bar: true, quux: true }
str[Symbol.iterator]()
. Так что непонятно по чему вы пытаетесь итерироваться.{
next() { ... }
}
next
используете ключевое слово this
. Но при вызове iterator.next()
этот this
будет указывать на объект iterator
у которого нет никакого свойства length
. //в main.js
bot.func = require('./functions')(bot);
//в /functions/index.js
module.exports = (bot) => ({
getMemoryMember: (id) => getMemoryMember(bot, id),
getGuildMember: (id) => getGuildMember(bot, id),
...
declOfNum,
getTime,
});
// в main.js
Object.assign(bot, require('./functions'));
// вместо bot.func.getMemoryMember(bot, id)
bot.getMemoryMember(id);
//в /functions/index.js
function getMemoryMember (id) {
// тут использовать this вместо bot
}
function getGuildMember (id) {
//1412351235
}
...
module.exports = {
getMemoryMember,
getGuildMember,
addExp,
getGuildRole,
declOfNum,
getTime
};