Python
- 1 ответ
- 0 вопросов
1
Вклад в тег
async/await
для асинхронных операций, вы можете использовать библиотеку mysql2/promise
, которая поддерживает промисы и позволяет использовать async/await
. Вот пример того, как можно реализовать ваш запрос:const mysql = require('mysql2/promise');
async function getData() {
const connection = await mysql.createConnection({
host: "127.0.0.1",
user: "root",
password: "",
database: "mania"
});
try {
const [rows, fields] = await connection.execute('SELECT * FROM price_history_1d');
for (let row of rows) {
console.log(`ID: ${row['birza']}, NAME: ${row['symbol']}, PRICE: ${row['price']}`);
// Теперь вы можете работать с каждой строкой данных как с объектом
// Например, вы можете сохранить данные в переменные или отправить их куда-либо
}
} catch (err) {
console.error(err);
} finally {
await connection.end();
}
}
getData();
getData
, которая устанавливает соединение с базой данных, выполняет запрос и выводит результаты. Каждая строка результатов обрабатывается в цикле, и вы можете сохранять данные в переменные или использовать их для других операций внутри цикла.mysql2/promise
вам нужно будет установить этот пакет через npm:npm install mysql2
async/await
позволяет писать асинхронный код, который выглядит как синхронный, и делает его более читаемым и удобным для отладки. from PyQt5 import QtCore, QtGui, QtWidgets
import pyautogui
import threading
class Ui_MainWindow(object):
# ... ваш предыдущий код ...
def add_functions(self):
self.pushButton.clicked.connect(self.start_autoswap)
self.stopButton.clicked.connect(self.stop_autoswap) # Добавьте кнопку остановки в ваш интерфейс
def start_autoswap(self):
self.autoswap_thread = threading.Thread(target=self.autoswap, daemon=True)
self.autoswap_thread.start()
def stop_autoswap(self):
self.running = False
def autoswap(self):
self.running = True
while self.running:
x = 459
y = 1402
Color = pyautogui.screenshot().getpixel((x, y))
print(Color)
if Color == (185, 185, 185):
pyautogui.press("2", presses=4, interval=0.01)
# ... остальная часть вашего кода ...
start_autoswap
запускает метод autoswap
в отдельном потоке.self.running
используется для контроля выполнения цикла.stop_autoswap
изменяет значение self.running
на False
, что приводит к остановке цикла.stop_autoswap
. Также убедитесь, что вы используете daemon=True
при создании потока, чтобы он завершался вместе с основной программой.