async 函数的实现
async 函数的实现,就是将 Generator 函数和自动执行器,包装在一个函数里
function getCallSettings() { return utils.ajax({ url: '/dialer/dialerSetting', method: "GET", }); } async function dealData() { try { let settingInfo = await getCallSettings(); // await会暂停在这,直到promise决议(请求返回) // do something…… } catch(err) { console.log(err); } } dealData();
function getCallSettings() {
// utils.ajax方法支持返回promise对象,把得到的promise return出去
return utils.ajax({
url: '/dialer/dialerSetting',
method: "GET",
});
}
function *dealData() {
try {
let settingInfo = yield getCallSettings();
// do something……
}
catch(err) {
console.log(err); // 接收错误
}
}
let it = dealData();
let promise = it.next().value; // 注意,这里拿到yield出来的promise
promise.then(
(info) => {
it.next(info); // 拿到info传给yield表达式
},
(err) => {
it.throw(err); // 抛出错误
}
);

浙公网安备 33010602011771号