async异步请求示例
<pre><code class="language-javascript">- 思路:
- 1.封装一个函数,返回new Promise(),把ajax里面的data用resolve(data)
- 2.async 封装1个函数接收data的值
- 3.把第1个封装的函数前面加await fn() 返回请求到的值
- 4.async返回的也是promise对象
- 5.需要listShop.then(function(result){}) result就是请求到的数据
var shopUrl = 'http://ctms.netideas.com.hk/Main/api/shops';
function fn() {
return new Promise((resolve, reject) => {
$.ajax({
type: "post",
dataType: "json",
url: shopUrl,
data: {
"Token": '003',
},
//async: true,
success: function (data) {
console.log(data)
resolve(data)
},
error: function (error) {
// view("异常!");
reject(error)
}
})
})
}
/* */
async function listShop() {
try {
const listShopData = await fn();
return listShopData
} catch (e) {
console.log(e)
}
}
//异步调用1
listShop().then(function(result){
console.log(result)
})
//异步调用2
listShop().then(function(result){
console.log(result)
})</code></pre>