Rumah >pembangunan bahagian belakang >Tutorial Python >Penyelesaian untuk menggesa TypeError(\'Tarikh akhir tidak disokong %r\' % tarikh akhir)

Penyelesaian untuk menggesa TypeError(\'Tarikh akhir tidak disokong %r\' % tarikh akhir)

王林
王林ke hadapan
2024-03-01 13:20:45895semak imbas

. Parameter jenis angka harus digunakan.

Penyelesaian untuk menggesa TypeError(\Tarikh akhir tidak disokong %r\ % tarikh akhir)Cara menyelesaikan

Penyelesaian adalah untuk menyemak nilai parameter tarikh akhir yang diserahkan kepada kaedah IOLoop.add_timeout() atau IOLoop.add_callback() dalam kod dan pastikan ia adalah nombor integer atau titik terapung.

Sebagai contoh, jika anda menghantar rentetan atau nilai bukan angka lain, tukarkannya kepada integer atau apungan.

Jika ralat disebabkan oleh sebab lain, sila berikan lebih banyak konteks dan coretan kod untuk membantu saya memberi anda jawapan yang lebih terperinci.

Contoh Penggunaan

Ya, berikut adalah contoh:

import tornado.ioloop

def my_callback():
print("callback called")

# This will work
deadline = tornado.ioloop.IOLoop.current().time() + 5.0
tornado.ioloop.IOLoop.current().add_timeout(deadline, my_callback)

# This will raise "TypeError("Unsupported deadline %r" % deadline)"
deadline = "5.0"
tornado.ioloop.IOLoop.current().add_timeout(deadline, my_callback)
Dalam contoh pertama, kami melepasi apungan sebagai tarikh akhir, yang betul. Dalam contoh kedua, kami menghantar rentetan, yang akan menyebabkan ralat. Kita harus menukar tarikh akhir kepada jenis apungan.

rreeee

Dengan cara ini anda boleh mengelakkan ralat

Jika anda ingin menjalankan fungsi panggil balik pada satu ketika pada masa hadapan, anda boleh menggunakan kaedah IOLoop.add_timeout() , yang menerima cap masa sebagai parameter pertama, dan selepas itu cap masa tiba Jalankan fungsi panggil balik. Contohnya, jika anda ingin menjalankan fungsi panggil balik selepas 5 saat, anda boleh menggunakan kod berikut:

deadline = float("5.0")
tornado.ioloop.IOLoop.current().add_timeout(deadline, my_callback)

Jika anda ingin menjalankan fungsi panggil balik dalam gelung acara seterusnya, anda boleh menggunakan kaedah IOLoop.add_callback().

rreeee

Cara lain ialah menggunakan kaedah IOLoop.call_later(), yang menerima beberapa saat sebagai parameter pertama dan menjalankan fungsi panggil balik selepas masa itu berlalu.

Sebagai contoh, jika anda ingin menjalankan fungsi panggil balik selepas 5 saat, anda boleh menggunakan kod berikut:

import tornado.ioloop

def my_callback():
print("callback called")

deadline = tornado.ioloop.IOLoop.current().time() + 5.0
tornado.ioloop.IOLoop.current().add_timeout(deadline, my_callback)

# Start the IOLoop
tornado.ioloop.IOLoop.current().start()

Jika anda ingin menggunakan kaedah ini dalam senario yang lebih maju, anda boleh mendapatkan maklumat lanjut dalam dokumentasi Tornado.

Atas ialah kandungan terperinci Penyelesaian untuk menggesa TypeError('Tarikh akhir tidak disokong %r' % tarikh akhir). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam