KOA 异步处理
本帖最后由 周大胖子 于 2018-4-24 23:59 编辑async : 让方法变成异步;await : 等待异步方法执行完成; (await只有在async的方法中才可以使用, 因为await 访问本身就会造成程序停止堵塞,所以只能在异步方法中使用。)
function getData(){
return 'zhangsan}
async function testAsync(){
return 'Hello async}
async function test(){
const v1=await getData();
const v2=await testAsync();
console.log(v1,v2);
}
test();async/await 同时使用
async 会将其后的函数(函数表达式或Lambda)的返回值封装成一个Promise 对象,而
await 会等待这个Promise 完成,并将其resolve 的结果返回出来。
function findData() {
return new Promise(resolve => {
setTimeout(() => resolve("long_time_value"), 1000);
});
}
async function test() {
const v = await findData();
console.log(v);
}
test();
promise: 处理异步;写法一 //使用方法:
//resolve执行成功的回调函数
//reject 执行错误的回调函数
var p=new Promise(function(resolve,reject){
setTimeout(()=>{
var name = 'zhangsan resolve(name)
},1000)
}
p.then((data)=>{
console.log(data) //后台打印出张三
}
Promise 处理异步函数 写法2function getData(resolve,reject){
//ajax
setTimeout(function(){
var name='张三'
resolve(name);
}1000,)
}
var p= new Promist(getData) // 注意这里放的是方法名称 且没有括号()
p.then((data)=>{
console.log(data);
}
promise是啥
Promise 对象 用于异步计算。 一个 Promise 对象 代表一个还未完成,但预期将会完成的操作。
页:
[1]