Struktur JSON ini digunakan untuk mengkonfigurasi parameter fungsi HttpQuery dan fungsi HttpQuery_Go untuk mengirim permintaan Http.
Metode permintaan, misalnya:GET
, POST
, dll.
metode
string
Misalnya, dalam permintaan POST, tubuh dapat berisi data formulir, JSON, teks, dll.
tubuh
string
Pengkodean set karakter. Misalnya, tentukan pengkodean data teks dalam body sebagai:"UTF-8"
Aku tidak tahu.
Charset
string
Cookie adalah data kecil yang digunakan untuk menyimpan dan bertukar informasi keadaan antara klien (biasanya browser) dan server.
kue
string
Digunakan untuk mensimulasikan sidik jari browser.
profil
string
Ketika diatur ke true, panggilan fungsi HttpQuery mengembalikan pesan respons lengkap. Ketika diatur ke false, hanya data dalam pesan respon Body yang dikembalikan.
debug
bool
Informasi request header ada dalam bentuk key-value pairs (struktur JSON) dan digunakan untuk mengirimkan berbagai informasi, seperti jenis konten, informasi otentikasi, kontrol cache, dll.
Header
JSON
Pengaturan timeout. Mengatur 1000 berarti waktu istirahat 1 detik.
timeout
nomor
Contoh penggunaan:
function main() {
var options = {
method: "POST",
body: "a=10&b=20&c=30",
charset: "UTF-8",
cookie: "session_id=12345; lang=en",
profile: "chrome_103",
debug: false,
headers: {"TEST-HTTP-QUERY": "123"},
timeout: 1000
}
var ret = HttpQuery("http://127.0.0.1:8080", options)
Log(ret)
}
Pesan http yang dikirim saat kode di atas dijalankan:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: session_id=12345; lang=en
Host: 127.0.0.1:8080
Test-Http-Query: 123
Transfer-Encoding: chunked
User-Agent: Mozilla/5.0 (Macintosh; ...
Accept-Encoding: gzip, deflate, br
e
a=10&b=20&c=30
0
{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}
Struktur JSON ini adalah struktur data yang dikembalikan oleh fungsi HttpQuery dalam mode debug ketika bidang debug dioptions
Parameter struktur benar.
Kode status http StatusKode Nomor Minta informasi header. Judul JSON Informasi tentang cookie. Cookie Array Informasi jalur penuh permintaan. Menelusuri JSON Panjang pesan Panjang Nomor Isi pesan. Tubuh string
Contoh dari struktur data JSON yang dikembalikan adalah:
{
"StatusCode": 302,
"Header": {
"Content-Type": ["text/html"],
// ...
},
"Cookies": [{
// ...
}],
"Trace": {},
"Length": 154,
"Body": "..."
}
{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}
Struktur JSON ini digunakan untuk mengkonfigurasi konten tabel yang ditampilkan di bilah status strategi.
Digunakan untuk mengatur jenis UI dan kontrol yang akan dianalisis dan ditampilkan.table
Aku tidak tahu.
jenis
string
Digunakan untuk mengatur judul tabel status bar.
Judul
string
Digunakan untuk mengatur judul kolom dari tabel bar status. elemen pertama array adalah judul kolom pertama, dan seterusnya.
Benih
Array
Digunakan untuk mengatur data baris tabel bar status. Elemen pertama array baris (array dua dimensi) juga merupakan struktur array. Panjang struktur array ini harus konsisten dengan jumlah kolom tabel (elemen dalam struktur array sesuai dengan nama kolom tabel satu per satu), yaitu, baris pertama data dalam tabel.
baris
Array
function main() {
var tbl = {
type: "table",
title: "title",
cols: ["Column 1", "Column 2", "Column 3"],
rows: [
["Row 1 Column 1", "Row 1 Column 2", "Row 1 Column 3"],
["Row 2 Column 1", "Row 2 Column 2", "Row 2 Column 3"],
["Row 3 Column 1", "Row 3 Column 2", "Row 3 Column 3"],
]
}
LogStatus("`" + JSON.stringify(tbl) + "`")
}
{@fun/Log/LogStatus LogStatus}
Struktur JSON ini digunakan untuk mengkonfigurasi kontrol tombol di bilah status. Struktur JSON kontrol tombol dapat disematkan dalam struktur JSON tabel bilah status. Struktur ini adalah struktur versi lama, dan platform masih kompatibel. Contoh membangun kontrol tombol bilah status (setelah tombol dipicu dan diklik, kotak pop-up berisi kontrol input tunggal, yang dibangun melalui bidang input):
{
"type": "button",
"cmd": "open",
"name": "opening a position",
"input": {
"name": "number of opening positions",
"type": "number",
"defValue": 1
}
}
Kontrol di kotak pop-up dipicu dengan mengklik tombol status bar kontrol diatur melaluiinput
ataugroup
.
Untuk kontrol tombol, pengaturan tetap adalah:button
Aku tidak tahu.
jenis
string
Pengaturan jenis tombol
kelas
string
Teks pada tombol kontrol, yaitu, nama tombol.
nama
string
Konten perintah interaktif yang dikirim ke strategi ketika kontrol tombol memicu operasi klik.
cmd
string
Deskripsi kontrol tombol. Deskripsi ditampilkan ketika mouse ditempatkan pada tombol di bilah status.
deskripsi
string
Menetapkan tombol ke disabled (true) / enabled (false).
penyandang cacat
bool
Ketika membangun tombol bilah status untuk interaksi, input data juga didukung.GetCommand()
Fungsi.input
Item ke struktur data JSON dari kontrol tombol di bilah status untuk mengkonfigurasi kontrol input di kotak pop-up yang ditampilkan ketika tombol dipicu.
Sebagai contoh, untuk menetapkan nilai dariinput
bidang:
{
"name": "Number of opening positions",
"type": "number",
"defValue": 1,
"description": "test",
}
Deskripsi setiap bidang dalam struktur JSON di atas:
"number"
: kontrol input numerik."string"
Kontrol input string."selected"
Kontrol kotak drop-down."boolean"
/ Mengganti kontrol."input": {"name": "Opening quantity", "type": "selected", "defValue": "A|B|C"}
, deskripsi teks dari opsi kotak drop-down diatur menjadi A, B, C.Untuk bidang yang diperluas oleh kontrol jenis kotak drop-down:
{text: "description", value: "value"}
Gunakan kolom defValue untuk mengatur opsi default, yang bisa beberapa pilihan.input
JSON
Peraturaninput
field mengkonfigurasi kontrol di kotak pop-up yang muncul setelah tombol status bar dipicu dengan mengklik.group
daninput
adalah bahwa ia mengkonfigurasi sekelompok kontrol.group
memiliki struktur data yang sama denganinput
Silakan lihat deskripsi yang relevan dariinput
field.
kelompok Array
Contoh dariclass
nilai struktur JSON dari tombol di bilah status:
function main() {
var table = {
type: "table",
title: "Status bar button style",
cols: ["Default", "Original", "Success", "Information", "Warning", "Danger"],
rows: [
[
{"type":"button", "class": "btn btn-xs btn-default", "name": "Default"},
{"type":"button", "class": "btn btn-xs btn-primary", "name": "Original"},
{"type":"button", "class": "btn btn-xs btn-success", "name": "Success"},
{"type":"button", "class": "btn btn-xs btn-info", "name": "Information"},
{"type":"button", "class": "btn btn-xs btn-warning", "name": "Warning"},
{"type":"button", "class": "btn btn-xs btn-danger", "name": "Danger"}
]
]
}
LogStatus("`" + JSON.stringify(table) + "`")
}
Contoh penggunaangroup
bidang denganinput
bidang:
function main() {
// The drop-down box control in the page triggered by the testBtn1 button uses the options field to set options and the defValue field to set the default options. This is different from other examples in this chapter that directly use defValue to set options.
var testBtn1 = {
type: "button",
name: "testBtn1",
cmd: "cmdTestBtn1",
input: {name: "testBtn1ComboBox", type: "selected", options: ["A", "B"], defValue: 1}
}
/*
Status bar button control (set input field implementation) testBtn2 button triggered by the page in the drop-down box control using the options field to set the options, options field in the options field not only supports the string,
it also supports the use of ```{text: "description", value: "value"}``` structure. Use the defValue field to set the default option. The default option can be multiple selection (multiple selection is achieved through an array structure). Multiple selection requires setting the additional field multiple to true.
*/
var testBtn2 = {
type: "button",
name: "testBtn2",
cmd: "cmdTestBtn2",
input: {
name: "testBtn2MultiComboBox",
type: "selected",
description: "Implementing multiple selection in drop-down box",
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}],
defValue: ["A", "C"],
multiple: true
}
}
// Status bar grouping button control (set group field implementation) testBtn3 button triggered by the page in the drop-down box control using the options field to set options, also supports the direct use of defValue set options.
var testBtn3 = {
type: "button",
name: "testBtn3",
cmd: "cmdTestBtn3",
group: [
{name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]},
{name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"},
{name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
{
name: "comboBox4",
label: "labelComboBox4",
description: "Drop-down box 4",
type: "selected",
defValue: ["A", "C"],
multiple: true,
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
}
]
}
while (true) {
LogStatus("`" + JSON.stringify(testBtn1) + "`\n", "`" + JSON.stringify(testBtn2) + "`\n", "`" + JSON.stringify(testBtn3) + "`\n")
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(5000)
}
}
{@fun/Log/LogStatus LogStatus}
Struktur JSON ini digunakan untuk mengkonfigurasi kontrol tombol di bilah status. Struktur JSON kontrol tombol dapat disematkan dalam struktur JSON tabel bilah status. Contoh membangun kontrol tombol bilah status (setelah tombol dipicu dan diklik, kotak pop-up berisi beberapa kontrol input, yang dibangun melalui bidang kelompok):
{
"type": "button",
"cmd": "open",
"name": "Open a position and place an order",
"group": [{
"type": "selected",
"name": "tradeType",
"label": "order type",
"description": "market order, limit order",
"default": 0,
"group": "trading setup",
"settings": {
"options": ["market order", "limit order"],
"required": true,
}
}, {
"type": "selected",
"name": "direction",
"label": "trading direction",
"description": "buy, sell",
"default": "buy",
"group": "trading setup",
"settings": {
"render": "segment",
"required": true,
"options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
}
}, {
"type": "number",
"name": "price",
"label": "price",
"description": "order price",
"group": "trading setup",
"filter": "tradeType==1",
"settings": {
"required": true,
}
}, {
"type": "number",
"name": "amount",
"label": "order quantity",
"description": "order quantity",
"group": "trading setup",
"settings": {
"required": true,
}
}],
}
Kontrol di kotak pop-up dipicu dengan mengklik tombol status bar kontrol diatur melaluiinput
ataugroup
.
Untuk kontrol tombol, pengaturan tetap adalah:button
Aku tidak tahu.
jenis
string
Teks pada tombol kontrol, yaitu, nama tombol.
nama
string
Konten perintah interaktif yang dikirim ke strategi ketika kontrol tombol memicu operasi klik.
cmd
string
Ketika membangun tombol bilah status untuk interaksi, input data juga didukung.GetCommand()
Fungsi.input
Item ke struktur data JSON dari kontrol tombol di bilah status untuk mengkonfigurasi kontrol input di kotak pop-up yang ditampilkan ketika tombol dipicu.
Dibandingkan dengan versi lama dari struktur input, versi baru memiliki beberapa bidang baru dan perubahan:
{
"type": "selected",
"name": "test",
"label": "topic",
"description": "desc",
"default": 1,
"filter": "a>1",
"group": "group1",
"settings": { ... }, // Component configuration
}
Deskripsi dan penjelasan dari setiap bidang dalam struktur JSON di atas:
jenis
Jenis kontrol (bidang wajib), mendukung pengaturan berikut:"number"
kotak input numerik,"string"
kotak input string,"selected"
kotak drop-down,"boolean"
Mengganti kontrol.
nama Jika struktur JSON saat ini adalah nilai bidang bidang input, ketika bidang label tidak ditetapkan, nama adalah judul kontrol di kotak pop-up yang muncul setelah tombol status bar diklik. Jika struktur JSON saat ini adalah elemen dalam nilai bidang (struktur array) dari bidang kelompok, nama tidak digunakan sebagai judul kontrol.
var testBtn3 = {
type: "button",
name: "testBtn3",
cmd: "cmdTestBtn3",
group: [
{name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]},
{name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"},
{name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
{
name: "comboBox4",
label: "labelComboBox4",
description: "Drop-down box 4",
type: "selected",
defValue: ["A", "C"],
multiple: true,
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
}
]
}
Menurut cuplikan ini, jika tombol bilah status memicu interaksi, kotak pop-up akan muncul dengan 4 kontrol, yang semuanya adalah kontrol kotak drop-down. Setelah mengatur opsi untuk setiap kontrol dan mengklik OK untuk mengirim pesan interaksi, fungsi GetCommand dalam strategi akan menerimacmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}
Aku tidak tahu.
Nilai nama dalam struktur JSON digunakan sebagai nama lapangan dari informasi interaktif yang dikembalikan, misalnya: comboBox1, comboBox2, dll.
label Digunakan untuk mengatur judul kontrol.
deskripsi Deskripsi kontrol. Jika struktur JSON saat ini adalah elemen dalam nilai bidang (struktur array) dari bidang grup, dan bidang label tidak ditetapkan, deskripsi adalah judul kontrol di kotak pop-up yang muncul setelah tombol status bar diklik.
default Nilai default dari kontrol.
filter Selector, digunakan untuk menyembunyikan kontrol. Tidak menetapkan bidang ini berarti tidak ada penyaringan (menampilkan kontrol); ketika bidang ini ditetapkan, tidak ada penyaringan (menampilkan kontrol) terjadi ketika ekspresi benar. Ketika ekspresi salah, penyaringan terjadi (tidak menampilkan kontrol)
kelompok Digunakan untuk mengontrol pengelompokan kontrol, yang dapat dilipat.
pengaturan Konfigurasi komponen, kontrol memiliki berbagai pilihan UI, gunakan opsi ini untuk membuat pengaturan tertentu.
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
Pengaturan:
setting.required: Apakah diperlukan.
setting.disabled: Apakah untuk menonaktifkan.
settings.min: Berlaku jika type=number, menunjukkan nilai minimum atau panjang minimum string.
settings.max: Berlaku jika type=number, menunjukkan nilai maksimum atau panjang maksimum string.
settings.step: Berlaku jika type=number dan render=slider, menunjukkan panjang langkah.
settings.multiple: Berlaku jika type= dipilih, menunjukkan bahwa beberapa pilihan didukung.
setting.customizable: Ini berlaku ketika type= dipilih, menunjukkan bahwa kustomisasi didukung; pengguna dapat langsung mengedit dan menambahkan opsi baru di kontrol kotak drop-down. Jika opsi yang baru diedit dipilih, nama opsi digunakan sebagai pengganti nilai yang diwakili oleh opsi ketika interaksi dipicu.
setting.options: Berlaku jika type= dipilih, menunjukkan format data opsi selektor: [
input
JSON
Peraturaninput
field mengkonfigurasi kontrol di kotak pop-up yang muncul setelah tombol status bar dipicu dengan mengklik.group
daninput
adalah bahwa ia mengkonfigurasi sekelompok kontrol.group
memiliki struktur data yang sama denganinput
Silakan lihat deskripsi di atas dariinput
field.
kelompok Array
Dukungan pengaturan bilingual:
{
type:'selected',
name:'test',
label:'选项|options',
description:'描述|description',
default:0, // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
filter:'a>1&&a<10',
group:'分组|group',
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
}
{@fun/Log/LogStatus LogStatus}
JSON ini digunakan untuk mengatur informasi konfigurasi grafik dari fungsi gambar khususChart()
. Perpustakaan grafik yang digunakan adalah Highcharts. Hanya beberapa bidang konfigurasi dasar yang terdaftar di sini.
Lapangan ekstensi platform. diatur ke benar untuk menggunakan grafik Highstocks; diatur ke salah untuk menggunakan grafik Highcharts.
__isStock string
{
layout: 'single', // Not participating in grouping, displayed separately, default is group 'group'
height: 300, // Specify height
}
perpanjangan JSON Judul grafik Judul string Konfigurasi sumbu X. xAxis JSON Konfigurasi sumbu Y. yAxis JSON Seri data grafik. seri JSON
Contoh gambar sederhana:
// This chart is an object in JavaScript language. Before using the Chart function, we need to declare an object variable chart to configure the chart.
var chart = {
// This field marks whether the chart is a general chart. If you are interested, you can change it to false and run it.
__isStock: true,
// Zoom tool
tooltip: {xDateFormat: '%Y-%m-%d %H:%M:%S, %A'},
// title
title : { text : 'Price difference analysis chart'},
// Select range
rangeSelector: {
buttons: [{type: 'hour',count: 1, text: '1h'}, {type: 'hour',count: 3, text: '3h'}, {type: 'hour', count: 8, text: '8h'}, {type: 'all',text: 'All'}],
selected: 0,
inputEnabled: false
},
// The horizontal axis of the coordinate axis is: x-axis, and the current setting type is: time
xAxis: { type: 'datetime'},
// The vertical axis of the coordinate axis is: the y-axis, the default value is adjusted according to the data size
yAxis : {
// title
title: {text: 'Price difference'},
// Whether to enable the right vertical axis
opposite: false
},
// Data series, this property saves each data series (line, K-line chart, label, etc.)
series : [
// The index is 0, and the data array stores the data of the index series.
{name : "line1", id : "line 1,buy1Price", data : []},
// The index is 1, dashStyle:'shortdash' is set, that is, a dashed line is set
{name : "line2", id : "line 2,lastPrice", dashStyle : 'shortdash', data : []}
]
}
function main(){
// Call the Chart function to initialize the chart
var ObjChart = Chart(chart)
// Clear
ObjChart.reset()
while(true){
// Get the timestamp of this poll, which is a millisecond timestamp. Used to determine the position of the X-axis written to the chart
var nowTime = new Date().getTime()
// Get market data
var ticker = _C(exchange.GetTicker)
// Get the buy price from the return value of the market data
var buy1Price = ticker.Buy
// Get the last transaction price. In order to prevent the two lines from overlapping, we add 1.
var lastPrice = ticker.Last + 1
// Use the timestamp as the X value and the buy price as the Y value to pass into the data sequence of index 0
ObjChart.add(0, [nowTime, buy1Price])
// Same as above
ObjChart.add(1, [nowTime, lastPrice])
Sleep(2000)
}
}
{@fun/Log/Chart Chart}
JSON ini digunakan untuk mengatur informasi konfigurasi grafik dari fungsi gambar khususKLineChart
Hanya beberapa bidang konfigurasi dasar yang tercantum di sini.
Apakah menggambar pada bagan utama. penyambungan bool Konfigurasi sumbu X. xAxis JSON Konfigurasi sumbu Y. yAxis JSON Konfigurasi grafik candlestick. lilin JSON
Silakan lihat:Artikel khusus tentang menggambar grafik menggunakan fungsi KLineChart.
{@fun/Log/KLineChart KLineChart}
JSON digunakan untuk mengatur data yang akan dimuat olehexchange.SetData()
JSON data adalah struktur array, di mana setiap elemen juga array, yaitu[time, data]
.
Stempel waktu data, menandai waktu data ini.
waktu
nomor
data adalah sepotong data yang sesuai dengan waktu tertentu dalam data yang dimuat olehexchange.SetData()
Ketika strategi berjalan,exchange.GetData()
fungsi mendapatkan data dengan timestamp sesuai dengan waktu saat ini.
data string, nomor, bool, objek, array, dll.
Contoh memuat data dalam sistem backtesting dan mengambil data ketika strategi backtest sedang berjalan:
/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
function main() {
exchange.SetData("test", [[1579536000000, _D(1579536000000)], [1579622400000, _D(1579622400000)], [1579708800000, _D(1579708800000)]])
while(true) {
Log(exchange.GetData("test"))
Sleep(1000 * 60 * 60 * 24)
}
}
{@fun SetData}, {@fun GetData}
JSON ini adalah struktur data yang dikembalikan olehEventLoop()
Fungsi.EventLoop()
Monitor fungsi: 1. Setiap peristiwa data yang dapat dibaca WebSocket; 2. peristiwa penyelesaian tugas bersamaan dengan fungsi exchange.Go() dan HttpQuery_Go(); 3. peristiwa pesan yang dikirim di thread yang dibuat olehthreading.Thread()
fungsi dalam strategi bahasa JavaScript.
Nomor urutan peristiwa. Seq Nomor Nama acara. Peristiwa string ID thread acara. ThreadId Nomor Indeks peristiwa. Indeks Nomor Stempel waktu nano. Nano Nomor
Gunakanexchange.Go()
fungsi untuk membuat permintaan bersamaan dan struktur data peristiwa dikembalikan olehEventLoop()
function.
{
"Seq":1,
"Event":"Exchange_GetTrades",
"ThreadId":0,
"Index":3,
"Nano":1682068771309583400
}
Dalam thread yang dieksekusi secara bersamaan dari strategi bahasa JavaScript (dibuat olehthreading.Thread()
fungsi), ketikapostMessage()
fungsi dari objek thread digunakan untuk mengirim pesan,EventLoop()
fungsi dalam thread yang menerima pesan akan memantau struktur data peristiwa berikut:
{
"Seq":4,
"Event":"thread",
"ThreadId":1,
"Index":0,
"Nano":1727592066508674000
}
{@fun/Global/EventLoop EventLoop}
JSON ini adalah struktur data yang dikembalikan olehDBExec()
fungsi; juga dikembalikan ketika menjalankan pernyataan SQL menggunakanexec()
metode dari objek yang dibuat olehDial()
function.
Nama kolom data yang akan ditanyakan, array string. kolom Array Data tertentu yang akan ditanyakan, di mana setiap data sesuai dengan nama kolom. Nilai bidang nilai adalah array dua dimensi, di mana setiap elemen adalah array dan catatan data. nilai-nilai Array
Contoh data kueri di database:
{
"columns":["TS","HIGH","OPEN","LOW","CLOSE","VOLUME"],
"values":[
[1518970320000,100,99.1,90,100,12345.6],
[1518960320000,100,99.1,90,100,12345.6]
]
}
{@fun/Global/DBExec DBExec}, {@fun/Global/Dial Dial}
JSON ini adalah struktur data yang dikembalikan oleh fungsi anggotajoin()
dariThread
objek, yang menyimpan beberapa informasi tentang thread bersamaan diJavaScript
strategi bahasa.Thread
objek mengacu pada objek benang, yang dibuat olehthreading.Thread()
.
ID benang. id Nomor Apakah benang dipaksa untuk berakhir. diakhiri bool Waktu berjalan benang dalam nanodetik. telah berlalu Nomor Nilai kembali dari fungsi thread. Rt Nomor
Kode berikut menguji mekanisme timeout darijoin()
fungsi dariThread
objek dan mencetak nilai kembali darijoin()
function.
function testFunc() {
for (var i = 0; i < 5; i++) {
Log(i)
Sleep(300)
}
}
function main() {
var t1 = threading.Thread(testFunc)
Log(t1.join(1000)) // undefined
Log(t1.join()) // {"id":1,"terminated":false,"elapsed":1506864000}
} ```
{@fun/Threads/Thread/join join}
Pendanaan
Variabel bawaan