js中表單驗證中的任務執行順序初探

2021-10-10 12:33:43 字數 1441 閱讀 5848

在寫線上運維平台中的表單處理邏輯時,遇到困擾的地方

//驗證表單

checkform() else

console.log('1: '+checkresult)

})this.$refs['topicinfo'].validate((valid) => else

console.log('2: '+checkresult)

})// 校驗topic名稱

let that=this

that.topictotal.foreach(function(item,i)

console.log('3: '+checkresult)

})console.log('4: '+checkresult)

if(checkresult)else

})},

//切換頁面

changecurrentpage(page)

})break

}default:

}return false

},

上面的邏輯並沒有按照我預想的順序由上至下執行,而是

是因為js維護兩個佇列,分別放置巨集任務和微任務,巨集任務優先順序高於微任務

**中的邏輯事件任務類別

邏輯編號

具體邏輯

任務類別備註1

this.$refs['topicinfo'].validate((valid) =>
微任務1

2

this.$refs['topicinfo'].validate((valid) =>  else 

console.log('1: '+checkresult)

})this.$refs['topicinfo'].validate((valid) => else

console.log('2: '+checkresult)

// 校驗topic名稱

let that=this

that.topictotal.foreach(function(item,i)

})console.log('3: '+checkresult)

console.log('4: '+checkresult)

if(checkresult)else

})})

},//切換頁面

changecurrentpage(page)

})break

}default:

}return false

},

達到了預期

Django中表單驗證常用的Field

1 charfield 用來接收文字 引數 max length 指定最大長度 min length 指定最小長度 required 指定是否是必填項,預設為true error messages 驗證條件不滿足時給出的錯誤提示資訊。2 emailfield 用來接收郵件,會自動驗證郵件是否合法。錯...

JS中按照順序依次執行多個非同步任務

一 問題描述 二 思路 乙個請求完成之後再傳送下乙個請求,關鍵在於傳送乙個之後先停下來等待該請求完成,處理之後再繼續下乙個請求。生成器generator裡面的yield語句可以分割 程式遇到yield會停住,通過next語句可以一次執行乙個yield分割的語句,本文嘗試使用生成器完成依次傳送多個請求...

關於gulp中順序執行任務

前 端 gulp 今天在學習gulp的時候,由於要執行檔案壓縮和檔案重新命名和清除分配檔案的內容,發生了一些衝突,寫在這裡督促一下自己。每天進步一點點,希望越來越好 一 順序問題 其實主要的問題出現在沒有搞懂資料流的原因,對於資料流而言,語句的執行結束僅僅意味著資料操作的開始,唯一能確定資料操作結束...