При щелчке по слоту я изменяю содержимое слота, чтобы обеспечить обратную связь с пользователем, затем вызываю некоторый код, для запуска которого требуется несколько секунд. Однако изменения в слоте не отображаются, пока не завершится «медленный» процесс. Есть ли способ заставить рендеринг произойти до запуска «медленного» кода.
В следующем примере пользователь никогда не видит «Обрабатывается, пожалуйста, подождите ...» *
class MyTest < Shoes
url '/', :index
url '/result', :result
def index
stack do
my_button=flow do
image './assets/trees.jpg'
para 'Process Image'
end
my_button.click do
my_button.contents[0].hide
my_button.contents[1].text="Processing, please wait ..."
sleep(4) # Simulate slow process
visit '/result'
end
end
end
def result
stack do
para "Finished processing"
end
end
end
Shoes.app
Просматривая исходный код Shoes в ruby.c или canvas.c, есть ссылки на перекрашивание или рисование холста. Они могут быть вызваны изнутри обуви?
Заранее спасибо