Javascript 不要等待承诺立即执行和解决
我有一个下游API调用,它基本上是返回一个承诺对象,而不是解析它并在点上执行它。 我是这样称呼下游的:Javascript 不要等待承诺立即执行和解决,javascript,json,ecmascript-6,async-await,promise,Javascript,Json,Ecmascript 6,Async Await,Promise,我有一个下游API调用,它基本上是返回一个承诺对象,而不是解析它并在点上执行它。 我是这样称呼下游的: const response = testClient.getSession(sessionId); 当Iconsole.log(response)时,它将作为Promise{}打印,而不是从下游打印所需的结果 由于对异步/等待、承诺等知之甚少,我想知道它属于哪一类?我该如何首先履行承诺,然后完成其余步骤 然而,我找到了一份临时工作,就像这样: response.then(function
const response = testClient.getSession(sessionId);
当Iconsole.log(response)
时,它将作为Promise{}
打印,而不是从下游打印所需的结果
由于对异步/等待、承诺等知之甚少,我想知道它属于哪一类?我该如何首先履行承诺,然后完成其余步骤
然而,我找到了一份临时工作,就像这样:
response.then(function(result) {
console.log(result.body);
});
但理想情况下,我希望将结果存储到响应对象中。请帮助我理解这一点。提前感谢您所说的临时解决方法实际上是等待任务完成的正确方法。您不能“强制”它被实现,因为代码将以最快的速度执行,并允许您继续工作到那时(这是承诺的要点)——但您可以等待它被实现: 您还应该检查承诺是否被“拒绝”,使用-ie生成错误:
响应。然后(函数(结果){
console.log(result.body);
}).catch(函数(错误){
console.log(错误);
});
使用等待:
异步函数thingy(){
const response=wait testClient.getSession(sessionId);
}
要使用“等待并检查错误”,请执行以下操作:
异步函数thingy(){
试一试{
const response=wait testClient.getSession(sessionId);
}捕获(错误){
控制台错误(error);
}
}
请注意,在使用async
时,您通常需要处于一个
承诺的理念是允许您的计划在您等待承诺履行/拒绝的同时继续进行工作-例如,您可能会一次提出多个请求,并且:
Promise.all([
getStuff('one'),
getStuff('two'),
getStuff('n')
]);
您所说的使用临时解决方案实际上是等待任务完成的正确方法。您不能“强制”它被实现,因为代码将以最快的速度执行,并允许您继续工作到那时(这是承诺的要点)——但您可以等待它被实现:
您还应该检查承诺是否被“拒绝”,使用-ie生成错误:
响应。然后(函数(结果){
console.log(result.body);
}).catch(函数(错误){
console.log(错误);
});
使用等待:
异步函数thingy(){
const response=wait testClient.getSession(sessionId);
}
要使用“等待并检查错误”,请执行以下操作:
异步函数thingy(){
试一试{
const response=wait testClient.getSession(sessionId);
}捕获(错误){
控制台错误(error);
}
}
请注意,在使用async
时,您通常需要处于一个
承诺的理念是允许您的计划在您等待承诺履行/拒绝的同时继续进行工作-例如,您可能会一次提出多个请求,并且:
Promise.all([
getStuff('one'),
getStuff('two'),
getStuff('n')
]);
这是否回答了您的问题?这回答了你的问题吗?