0x00 目的
- 解決存在 request 異步函數的函數返回值爲undefined的問題
0x01 Way1:使用Promise
- 我對Promise的理解並不深刻,就不在這裏獻醜了,大家感興趣的可以閱讀我文章最後的參考文獻;
- 使用方法
onLoad: function() {
this.fnGetDataTest().then((res) => {
console.log("succ:", res);
}).catch((res) => {
console.log("fail:", res);
});
},
fnGetDataTest() {
return new Promise(
function(resolve, reject) {
wx.request({
url: 'https://xxxxxxxxxx',
data: '',
header: {},
method: 'GET',
dataType: 'json',
responseType: 'text',
success: function(res) {
resolve(res); // 成功時調用
},
fail: function(res) {
reject(res); // 錯誤時調用
},
complete: function(res) {},
})
}
)
}
0x02 Way2:使用setData
- 這一點就不講了沒有技術含量,我想當我我提到setData的時候基本上所有同學都可以明白我的意圖。
有問題的同學請在評論區文明討論
下面是一些關於Promise的資料:
Promise - 廖雪峯的官方網站
Promise - JavaScript | MDN
JavaScript Promise迷你書(中文版)