在網上找了好久介紹,async-await,promise什麼的,弄不清楚具體怎麼寫,後來終於弄清楚了,按順序執行的promise模板格式其實很簡單!原理拋開,引用拋開,沒有var。如下:
//new promise模板
newpromise
((resolve, reject)
=>).
then
(res =>
)
模板之外不需要寫另外的引用了,複雜的需要注意放resolve的位置,resolve表示傳執行成功後的值a給then用。
例如雲資料庫資料一次只能查20個,需要迴圈查詢再用concat拼合陣列,但因為for非同步,查詢資料庫總是慢的不一致,就導致按順序查詢出來的在拼合時亂了順序,還需要全拼合完了再排序。因此需要用promise確保查詢完了,再resolve傳遞陣列去排序。
上例提取可執行的**片段展示太麻煩,就舉個特簡單的例子:
例如第一步是:
stepone:
function()
) console.
log(
'a1'
,this
.data.a)
},
第二步是:
steptwo:
function
(b)}
,
第二步需要第一步的a值,因為有先後順序的要求,可套進模板,如下:
new
promise
((resolve, reject)
=>).
then
(res =>
)
還不清楚上面**放哪,看完整的js(我這個新手就希望看到這麼簡單的o(╥﹏╥)o):
page(,
/** * 生命週期函式onload--監聽頁面載入
*/onload:
function
(options)).
then
(res =>)}
, stepone:
function()
) console.
log(
'a1'
,this
.data.a)},
steptwo:
function
(b)},}
)
微信小程式 同步請求
1 globaldata 全域性變數 全域性變數 globaldata index.js 獲取應用例項 使用全域性變數2 引用第三方庫 es6 promise var promise require plugins es6 promise.js function wxpromisify fn obj...
(微信小程式)一 初識微信小程式
需要看的 先是檔案目錄 一 pages 他存放於多個頁面 如 index log頁面。可以把他裡面的每個資料夾看成乙個整體。這個整體存放著 html css 和 資料 1 index資料夾 存放的index頁面的目錄。2 index.js 他可以處理得到 ajax 或自定義定義的資料。把得到的值封裝...
微信小程式的同步操作
小程式裡,大多數操作都是非同步操作,一些重要的操作,如從網上獲取重要變數值,必須要保證有值,後續操作才有意義。但非同步操作,又必須把處理放到 中,可讀性降低,而且和大多數正常邏輯相背。折騰了兩天,試了一些方法,記錄一下 1 最簡單,用while迴圈等待,發現基本上卡死 2 靈機一動,用showtoa...