Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我在object literal中使用Wait时,程序如何运行?_Javascript_Async Await_Object Literal_Ecma - Fatal编程技术网

Javascript 当我在object literal中使用Wait时,程序如何运行?

Javascript 当我在object literal中使用Wait时,程序如何运行?,javascript,async-await,object-literal,ecma,Javascript,Async Await,Object Literal,Ecma,当我编写一个返回一个对象的函数,但该对象的每个值都是通过解析承诺来构造的时,我最终会得到什么?我的意思是,对象的值的类型是什么 async foo(){ 返回{ p1:等待取数http://dummy.restapiexample.com/api/v1/employees')//获取请求, p2:等待获取http://dummy.restapiexample.com/api/v1/employees')//获取请求 } } 对于这样一个流,p2会在p1之后被解析吗?此代码的工作原理是否与以下示

当我编写一个返回一个对象的函数,但该对象的每个值都是通过解析承诺来构造的时,我最终会得到什么?我的意思是,对象的值的类型是什么

async foo(){
返回{
p1:等待取数http://dummy.restapiexample.com/api/v1/employees')//获取请求,
p2:等待获取http://dummy.restapiexample.com/api/v1/employees')//获取请求
}
}
对于这样一个流,
p2
会在
p1
之后被解析吗?此代码的工作原理是否与以下示例相同:

async foo(){
常量p1=等待取数('http://dummy.restapiexample.com/api/v1/employees')//获取请求
const p2=等待取数('http://dummy.restapiexample.com/api/v1/employees')//获取请求
返回{
p1,
p2
}
}
谢谢大家!

看着

承诺是在创建承诺时不一定知道的值的代理。它允许您将处理程序与异步操作的最终成功值或失败原因相关联。这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回在将来某个时候提供值的承诺


p1和p2在两个示例中都返回了一个承诺。

感谢您打电话给我,让我澄清您的问题(!)。我会尽我最大的努力来解释你的问题。我很想简单地删除这个答案。这可能有用,也可能没用

如果使用
async
方法伪造任何“FETCH REQUEST”(获取请求),该方法在控制台启动时简单地打印到控制台,在它(async)解析之前,您可以非常清楚地看到它将在启动
p2
之前完成
p1
。运行几次可以确认这一点,因为对
p1
p2
的调用不会交错

异步函数foo(){ 返回{ p1:Wait randomAsyncMethod(“p1”), p2:等待随机异步方法(“p2”) } } 异步函数随机异步方法(which){ log(“启动”,其中); 返回新承诺(解决=> 设置超时(()=>{ console.log(“解析”,其中); 解决(); },Math.random()*1000) ); }
foo()我正试图举例说明。我已经编辑了我的问题,很抱歉解释不好。
wait FETCH REQUEST
不是有效的javascript,因此我们无法告诉您返回类型将是什么be@Jamiec谢谢你非常有帮助的回答(!)我只是想学点东西,你指出了一个毫无意义的观点。你真的不明白我为什么问吗?好的,我会尽量用更清楚的方式问我的问题。谢谢!我真的很高兴你回答了我的问题,我想不出这样的例子,所以我自己也解决不了。也许是我累了,或者是因为我的英语不好,idk。无论如何,我很高兴。再次感谢:)@keskinsaf给未来的你的提示:如果有人要你澄清你的问题,不要防备。试图猜测人们的真正意思,然后弄错,兜圈子,这会让人感到非常厌烦。不客气,很高兴我能帮忙。我不明白你要我澄清我的问题,但我明白你的意思。在问下一个问题之前,我会付出更多的努力:)再次感谢:)