javascript:将callback函数封装为promise对象. 发表于 2018年07月9日 | 更新于 2019年02月20日 | 分类于 javascript | 将callback函数封装为promise对象. 将callback函数封装为promise对象代码传送门 1. callback函数:1234567891011121314151617// callbackfunction funcCallback(value1, value2, callback) { setTimeout(function () { callback('value1: ' + value1 + " | " + 'value2: ' + value2) }, 2000)}// 调用funcCallback(1, 2, function (res) { console.log("--funcCallback--") console.log(res)})/* log--funcCallback--value1: 1 | value2: 2*/ 2. Promise形式封装:1234567891011121314151617181920// primsefunction funcPromise(value1, value2) { return new Promise((resolve, reject) => { funcCallback(value1, value2, resolve, reject); });}// 调用funcPromise(3,4).then((result) => { console.log("--funcPromise--") console.log(result)}).catch((err) => { console.log("--funcPromise--") console.log(err)});/* log--funcPromise--value1: 3 | value2: 4*/ 3. async/await形式(我没理解错的话其实是Promise的语法糖?):1234567891011121314151617async function funcAsync(value1, value2) { try { let result = await funcPromise(value1, value2); console.log("--funcAsync--") console.log(result) } catch (err) { console.log("--funcAsync--") console.log(err) }}// 调用funcAsync(5,6)/*--funcAsync--value1: 5 | value2: 6*/