es6的 async返回的是promise吗?还是普通的函数?
发布于 2 天前 作者 1021683053 178 次浏览 来自 问答

1,es6中async函数里调用了await 然后返回,那么调用async的地方是同步还是异步? 2,这种方式如何更好的捕捉reject

来自酷炫的 CNodeMD

4 回复

async 函数默认返回Promise

async function test(){throw new Error('err')}

test().catch(function(e){console.log(e);});

那问题来了,如果在async 里直接Return 得到的值,能return 出去吗!是不是在外层调用的时候还需要awaiawait

	async function test() {
		try {
			await test2();
		} catch (err) {
			console.error(err);
		}
	}

@1021683053

返回的是 promise, 所以你的then的回调函数里面能获得return的值

async function test() { return 1; }

test().then(console.log); // -> 1

回到顶部