Luogu P3822 [NOI2017]整數
阿新 • • 發佈:2020-11-30
一、非同步函式呼叫:
//例子:一個名為 createAudioFileAsync() 的函式,它接收一些配置和兩個回撥函式,然後非同步地生成音訊檔案。一個回撥函式在檔案成功建立時被呼叫,另一個則在出現異常時被呼叫
方法1、
// 成功的回撥函式 function successCallback(result) { console.log("音訊檔案建立成功: " + result); } // 失敗的回撥函式 function failureCallback(error) { console.log("音訊檔案建立失敗: " + error); } createAudioFileAsync(audioSettings, successCallback, failureCallback)
方法2、
/* *更現代的函式會返回一個 Promise 物件,使得你可以將你的回撥函式繫結在該 Promise 上 *如果函式 createAudioFileAsync() 被重寫為返回 Promise 的形式,那麼我們可以像下面這樣簡單地呼叫它 */ const aa = createAudioFileAsync(audioSettings); aa.then(successCallback, failureCallback); //簡寫 createAudioFileAsync(audioSettings).then(successCallback, failureCallback);
二、鏈式呼叫:
//連續執行兩個或者多個非同步操作時,在上一個操作執行成功後帶著返回的結果,開始下一個操作 ,可用Promise鏈來實現(解決地獄回撥問題)