async关键字/承诺等价

The*_*eMx 0 javascript asynchronous settimeout promise

这2个怎么不相同?

这不起作用.

const message = async () => {
    setTimeout(() => {
        console.log("delayed")
        return true
    }, 1000)
}
Run Code Online (Sandbox Code Playgroud)

但这样呢?

const message = () => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log("delayed")
            resolve(true)
        }, 1000)
    })
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着只有在函数范围内(而不是在另一个函数中)才能在异步函数中"返回"?

异步函数返回的承诺是否与常规承诺不同?它是如何完全初始化的?

Que*_*tin 5

message一个示例中的函数没有return声明来传递其分辨率的值.

第二个示例中的Promise将值resolve()显式传递给.

这是否意味着只有在函数范围内(而不是在另一个函数中)才能在异步函数中"返回"?

是.函数的返回值由该函数中的return语句确定.把一个return在其他一些函数声明,将返回值功能.