Struktur JSON ini digunakan untuk mengkonfigurasi parameter fungsi HttpQuery dan fungsi HttpQuery_Go untuk menghantar permintaan Http.
Kaedah permintaan, contohnya:GET
, POST
, dan lain-lain
kaedah
senar
Badan permintaan. Sebagai contoh, dalam permintaan POST, badan boleh mengandungi data borang, JSON, teks, dll.
badan
senar
Pengekodan set aksara. Sebagai contoh, tentukan pengekodan data teks dalam badan sebagai:"UTF-8"
.
Charset
senar
Kuki adalah sekeping data kecil yang digunakan untuk menyimpan dan bertukar maklumat keadaan antara klien (biasanya penyemak imbas) dan pelayan.
kek
senar
Digunakan untuk mensimulasikan cap jari penyemak imbas.
profil
senar
Apabila ditetapkan kepada benar, panggilan fungsi HttpQuery mengembalikan mesej tindak balas lengkap. Apabila ditetapkan kepada salah, hanya data dalam mesej tindak balas Body yang dikembalikan.
debug
bool
Maklumat tajuk permintaan wujud dalam bentuk pasangan kunci-nilai (struktur JSON) dan digunakan untuk menghantar pelbagai maklumat, seperti jenis kandungan, maklumat pengesahan, kawalan cache, dll.
tajuk
JSON
Tetapan masa henti. Tetapan 1000 bermaksud masa henti 1 saat.
masa lapang
nombor
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)
}
Mesej http yang dihantar apabila kod 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 mod debug apabila medan debug dalamoptions
Parameter struktur adalah benar.
Kod status http Kod Status nombor Minta maklumat tajuk. Judul JSON Maklumat mengenai kuki. Kuki Array Maklumat laluan penuh permintaan. Tarikan JSON Panjang mesej Panjang nombor Kandungan mesej. Badan senar
Contoh 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 kandungan jadual yang dipaparkan dalam bar status strategi.
Digunakan untuk menetapkan jenis UI dan kawalan yang akan dianalisis dan dipaparkan.table
.
jenis
senar
Digunakan untuk menetapkan tajuk jadual bar status.
tajuk
senar
Digunakan untuk menetapkan tajuk lajur jadual bar status. Elemen pertama array adalah tajuk lajur pertama, dan sebagainya.
benih
Array
Digunakan untuk menetapkan data baris jadual bar status. Elemen pertama array baris (rantai dua dimensi) juga struktur array. Panjang struktur array ini harus konsisten dengan bilangan lajur jadual (elemen dalam struktur array sepadan dengan nama lajur jadual satu demi satu), iaitu baris pertama data dalam jadual.
barisan
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 kawalan butang dalam bar status. Struktur kawalan butang JSON boleh disematkan dalam struktur JSON jadual bar status. Struktur ini adalah struktur versi lama, dan platform masih serasi. Disyorkan untuk menggunakan versi terbaru struktur JSON butang. Contoh membina kawalan butang bar status (selepas butang itu dicetuskan dan diklik, kotak pop-up mengandungi kawalan input tunggal, yang dibina melalui medan input):
{
"type": "button",
"cmd": "open",
"name": "opening a position",
"input": {
"name": "number of opening positions",
"type": "number",
"defValue": 1
}
}
Kawalan dalam kotak pop-up dicetuskan dengan mengklik butang bar status kawalan ditetapkan melaluiinput
ataugroup
.
Untuk kawalan butang, tetapan tetap adalah:button
.
jenis
senar
Tetapan jenis butang
kelas
senar
Teks pada butang kawalan, iaitu, nama butang.
nama
senar
Kandungan arahan interaktif yang dihantar ke strategi apabila kawalan butang mencetuskan operasi klik.
cmd
senar
Penerangan kawalan butang. Penerangan dipaparkan apabila tetikus diletakkan pada butang dalam bar status.
Penerangan
senar
Tetapkan butang untuk dilumpuhkan (betul) / diaktifkan (salah).
cacat
bool
Apabila membina butang bar status untuk interaksi, input data juga disokong.GetCommand()
Tambah fungsi.input
Item kepada struktur data JSON kawalan butang dalam bar status untuk mengkonfigurasi kawalan input dalam kotak pop-up yang dipaparkan apabila butang itu dicetuskan.
Sebagai contoh, untuk menetapkan nilaiinput
medan:
{
"name": "Number of opening positions",
"type": "number",
"defValue": 1,
"description": "test",
}
Penerangan setiap medan dalam struktur JSON di atas:
"number"
: kawalan input berangka."string"
: kawalan input rentetan."selected"
: kawalan kotak turun."boolean"
- Pindah kawalan."input": {"name": "Opening quantity", "type": "selected", "defValue": "A|B|C"}
, penerangan teks pilihan kotak turun ditetapkan kepada A, B, C.Untuk medan yang diperluaskan oleh kawalan jenis kotak turun:
{text: "description", value: "value"}
Gunakan medan defValue untuk menetapkan pilihan lalai, yang boleh menjadi pelbagai pilihan.input
JSON
Peraturaninput
medan mengkonfigurasi kawalan dalam kotak pop-up yang muncul selepas butang bar status dicetuskan dengan mengklik.group
daninput
adalah bahawa ia mengkonfigurasi sekumpulan kawalan.group
mempunyai struktur data yang sama denganinput
Sila rujuk penerangan yang berkaitaninput
field.
kumpulan Array
Satu contohclass
nilai struktur JSON butang dalam bar 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
medan denganinput
medan:
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 kawalan butang di bar status. Struktur kawalan butang JSON boleh disematkan dalam struktur JSON jadual bar status. Versi terbaru struktur butang JSON. Contoh membina kawalan butang bar status (selepas butang itu dicetuskan dan diklik, kotak pop-up mengandungi beberapa kawalan input, yang dibina melalui medan kumpulan):
{
"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,
}
}],
}
Kawalan dalam kotak pop-up dicetuskan dengan mengklik butang bar status kawalan ditetapkan melaluiinput
ataugroup
.
Untuk kawalan butang, tetapan tetap adalah:button
.
jenis
senar
Teks pada butang kawalan, iaitu, nama butang.
nama
senar
Kandungan arahan interaktif yang dihantar ke strategi apabila kawalan butang mencetuskan operasi klik.
cmd
senar
Apabila membina butang bar status untuk interaksi, input data juga disokong.GetCommand()
Tambah fungsi.input
Item kepada struktur data JSON kawalan butang dalam bar status untuk mengkonfigurasi kawalan input dalam kotak pop-up yang dipaparkan apabila butang itu dicetuskan.
Berbanding dengan versi lama struktur input, versi baru mempunyai beberapa medan baru dan perubahan:
{
"type": "selected",
"name": "test",
"label": "topic",
"description": "desc",
"default": 1,
"filter": "a>1",
"group": "group1",
"settings": { ... }, // Component configuration
}
Penerangan dan penjelasan setiap medan dalam struktur JSON di atas:
jenis
Jenis kawalan (bidang diperlukan), menyokong tetapan berikut:"number"
kotak input berangka,"string"
kotak input rentetan,"selected"
kotak turun,"boolean"
menukar kawalan.
nama Jika struktur JSON semasa adalah nilai medan medan input, apabila medan label tidak ditetapkan, nama adalah tajuk kawalan dalam kotak pop-up yang muncul selepas butang bar status diklik. Jika struktur JSON semasa adalah elemen dalam nilai medan (struktur array) medan kumpulan, nama tidak digunakan sebagai tajuk kawalan. medan nama digunakan untuk menunjukkan nama medan kandungan input kawalan. contohnya petikan medan kumpulan digunakan sebagai ilustrasi:
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 butang bar status mencetuskan interaksi, kotak pop-up akan muncul dengan 4 kawalan, yang semuanya adalah kawalan kotak drop-down.cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}
.
Nilai nama dalam struktur JSON digunakan sebagai nama medan maklumat interaktif yang dikembalikan, contohnya: comboBox1, comboBox2, dll.
label Digunakan untuk menetapkan tajuk kawalan.
Penerangan Penerangan kawalan. Jika struktur JSON semasa adalah elemen dalam nilai medan (struktur array) medan kumpulan, dan medan label tidak ditetapkan, penerangan adalah tajuk kawalan dalam kotak pop-up yang muncul selepas butang bar status diklik.
lalai Nilai lalai kawalan.
penapis Pemilih, digunakan untuk menyembunyikan kawalan. Tidak menetapkan medan ini bermaksud tidak menapis (menampilkan kawalan); apabila medan ini ditetapkan, tidak menapis (menampilkan kawalan) berlaku apabila ungkapan itu benar. Apabila ungkapan itu salah, penapis berlaku (tidak menunjukkan kawalan)
kumpulan Digunakan untuk mengawal pengumpulan kawalan, yang boleh dilipat.
tetapan Konfigurasi komponen, kawalan mempunyai pelbagai pilihan UI, gunakan pilihan ini untuk membuat tetapan tertentu.
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
tetapan:
setting.required: sama ada ia diperlukan.
setings.disabled: sama ada untuk melumpuhkan.
setings.min: Sah apabila type=number, menunjukkan nilai minimum atau panjang minimum rentetan.
setings.max: Sah apabila type=number, menunjukkan nilai maksimum atau panjang maksimum rentetan.
setings.step: Sah apabila type=number dan render=slider, menunjukkan panjang langkah.
setings.multiple: Sah apabila type= dipilih, menunjukkan bahawa pelbagai pilihan disokong.
setings.customizable: Ia sah apabila type= dipilih, menunjukkan bahawa penyesuaian disokong; pengguna boleh mengedit dan menambah pilihan baru secara langsung dalam kawalan kotak drop-down. Jika pilihan yang baru diedit dipilih, nama pilihan digunakan dan bukannya nilai yang diwakili oleh pilihan apabila interaksi dicetuskan.
setings.options: Sah apabila type= dipilih, menunjukkan format data pilihan pilihan: [
input
JSON
Peraturaninput
medan mengkonfigurasi kawalan dalam kotak pop-up yang muncul selepas butang bar status dicetuskan dengan mengklik.group
daninput
adalah bahawa ia mengkonfigurasi sekumpulan kawalan.group
mempunyai struktur data yang sama denganinput
Sila rujuk penerangan di atasinput
field.
kumpulan Array
Sokongan tetapan dua bahasa:
{
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 menetapkan maklumat konfigurasi carta fungsi lukisan tersuaiChart()
. Perpustakaan carta yang digunakan adalah Highcharts. Hanya beberapa medan konfigurasi asas disenaraikan di sini.
Lapangan pelanjutan platform. Tetapkan ke benar untuk menggunakan carta Highstocks; tetapkan ke salah untuk menggunakan carta Highcharts.
__isStock senar
{
layout: 'single', // Not participating in grouping, displayed separately, default is group 'group'
height: 300, // Specify height
}
Pelancongan JSON Judul carta tajuk senar Konfigurasi paksi X. xAxis JSON Konfigurasi paksi Y. yAxis JSON Siri data carta. siri JSON
Contoh lukisan mudah:
// 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 menetapkan maklumat konfigurasi carta fungsi lukisan tersuaiKLineChart
. Hanya beberapa medan konfigurasi asas disenaraikan di sini.
Sama ada untuk menarik pada carta utama. penyambungan bool Konfigurasi paksi X. xAxis JSON Konfigurasi paksi Y. yAxis JSON Konfigurasi carta candlestick. lilin JSON
Sila rujukArtikel khas mengenai lukisan carta menggunakan fungsi KLineChart.
{@fun/Log/KLineChart KLineChart}
JSON digunakan untuk menetapkan data yang akan dimuatkan olehexchange.SetData()
JSON data adalah struktur array, di mana setiap elemen juga array, iaitu[time, data]
.
Stempel masa data, menandakan masa data ini.
masa
nombor
data adalah sekeping data yang sepadan dengan masa tertentu dalam data dimuatkan olehexchange.SetData()
Apabila strategi dijalankan,exchange.GetData()
fungsi mendapat data dengan timestamp yang sepadan mengikut masa semasa.
data rentetan, nombor, bool, objek, array, dll.
Contoh memuatkan data dalam sistem backtesting dan mendapatkan data apabila 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()
pemantau fungsi: 1. sebarang peristiwa data yang boleh dibaca WebSocket; 2. peristiwa penyelesaian tugas serentak dengan fungsi exchange.Go() dan HttpQuery_Go(); 3. peristiwa mesej yang dihantar dalam benang yang dicipta olehthreading.Thread()
fungsi dalam strategi bahasa JavaScript.
Nombor urutan peristiwa. Seq nombor Nama acara. Acara senar ID benang acara. ThreadId nombor Indeks peristiwa. Indeks nombor Stempel masa nano. Nano nombor
Gunakanexchange.Go()
fungsi untuk membuat permintaan serentak dan struktur data peristiwa dikembalikan olehEventLoop()
function.
{
"Seq":1,
"Event":"Exchange_GetTrades",
"ThreadId":0,
"Index":3,
"Nano":1682068771309583400
}
Dalam benang yang dijalankan secara serentak strategi bahasa JavaScript (dicipta olehthreading.Thread()
fungsi), apabilapostMessage()
fungsi objek benang digunakan untuk menghantar mesej,EventLoop()
fungsi dalam utas yang menerima mesej 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; ia juga dikembalikan apabila menjalankan arahan SQL menggunakanexec()
kaedah objek yang dicipta olehDial()
function.
Nama lajur data yang akan ditanyakan, array rentetan. Kolom Array Data tertentu yang akan ditanyakan, di mana setiap data sepadan dengan nama lajur. Nilai medan nilai adalah array dua dimensi, di mana setiap elemen adalah array dan rekod data. nilai Array
Contoh data pertanyaan dalam pangkalan data:
{
"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 ahlijoin()
daripadaThread
objek, yang menyimpan beberapa maklumat mengenai benang serentak dalamJavaScript
strategi bahasa.Thread
objek merujuk kepada objek benang, yang dicipta olehthreading.Thread()
.
ID benang. id nombor Sama ada benang dipaksa untuk berakhir. tamat bool Masa berjalan benang dalam nanosegund. telah berlalu nombor Nilai pulangan fungsi benang. ret nombor
Kod berikut menguji mekanisme masa lapangjoin()
FungsiThread
objek dan mencetak nilai pulanganjoin()
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}
Pembiayaan
Variabel terbina dalam