Javascript 异步和承诺困境

Javascript 异步和承诺困境,javascript,asynchronous,promise,Javascript,Asynchronous,Promise,这两个函数都返回一个承诺。那么这两种方法之间的区别是什么呢?我不敢相信这只是个人喜好 function somePromise(){ return new Promise((resolve, reject) => { resolve(':D'); }); } async function someAsync(){ return ':D'; } 第二种方法使用了一种更为现代的语言功能,这在所有环境中可能都不可用。就这样 新承诺构造函数,用于在异步函数尚未返

这两个函数都返回一个承诺。那么这两种方法之间的区别是什么呢?我不敢相信这只是个人喜好

function somePromise(){
   return new Promise((resolve, reject) => {
      resolve(':D');
   });
}


async function someAsync(){
   return ':D';
}

第二种方法使用了一种更为现代的语言功能,这在所有环境中可能都不可用。就这样


新承诺
构造函数,用于在异步函数尚未返回承诺时创建承诺。当然,在您的特定示例中,您创建了一个承诺,该承诺立即用同步获得的值进行解析,因此您可以编写
return promise.resolve(':D')作为第三个选项。

第二个选项使用了一种更现代的语言功能,这在所有环境中可能都不可用。就这样


新承诺
构造函数,用于在异步函数尚未返回承诺时创建承诺。当然,在您的特定示例中,您创建了一个承诺,该承诺立即用同步获得的值进行解析,因此您可以编写
return promise.resolve(':D')
作为第三个选项。

第一个函数是一个传统函数,它手动返回一个承诺,然后解析为
:D

第二个函数是异步函数(因此是异步的)。默认情况下,异步函数返回承诺,因此它也返回承诺


总的来说,这两种方法非常相似,只是可以从异步函数内部使用wait来避免嵌套太多回调。使用异步的一个警告是,它没有第一个选项得到广泛支持。

第一个函数是一个传统函数,它手动返回一个承诺,然后解析为
:D

第二个函数是异步函数(因此是异步的)。默认情况下,异步函数返回承诺,因此它也返回承诺


总的来说,这两种方法非常相似,只是可以从异步函数内部使用wait来避免嵌套太多回调。使用异步的一个警告是,它没有第一个选项得到广泛支持。

异步函数本质上是JavaScript中使用异步代码的一种更干净的方式,创建异步/Await是为了简化使用和编写链接承诺的过程。异步函数返回一个承诺。如果函数抛出错误,承诺将被拒绝。如果函数返回一个值,承诺将被解析
async
返回一个隐式承诺,如果不返回,它是不断发展的javascript语法标准的一部分。它还允许您在函数中使用
wait
。建议阅读:提到的“困境”是什么?异步函数本质上是一种更干净的方式来使用JavaScript中的异步代码,创建Async/Await是为了简化使用和编写链接承诺的过程。异步函数返回一个承诺。如果函数抛出错误,承诺将被拒绝。如果函数返回一个值,承诺将被解析
async
返回一个隐式承诺,如果不返回,它是不断发展的javascript语法标准的一部分。它还允许您在函数中使用
wait
。建议阅读:提到的“困境”是什么?@Evert我不认为他是这么想的meant@Evert我想他不是这个意思