CNode

es6的 async返回的是promise吗?还是普通的函数?

问答
11021683053发布于10 年前最后回复10 年前4 回复8168 浏览0 收藏

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);});
1
1021683053#2·10 年前

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

1
151263#3·10 年前
	async function test() {
		try {
			await test2();
		} catch (err) {
			console.error(err);
		}
	}
S
steambap#4·10 年前
引用 1021683053那问题来了,如果在async 里直接Return 得到的值,能return 出去吗!是不是在外层调用的时候还需要awaiawait

@1021683053

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

async function test() { return 1; }

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

参与回复
登录后即可参与回复。登录