Javascript 在javascirpt中使用嵌套返回的原因是什么?它们是如何工作的?
javascript中的嵌套返回是如何工作的?我曾试图在良好的互联网上找到答案,但找到的网站/例子很少,概念仍然不清楚。当到达第一次返回,然后到达第二次返回时会发生什么Javascript 在javascirpt中使用嵌套返回的原因是什么?它们是如何工作的?,javascript,Javascript,javascript中的嵌套返回是如何工作的?我曾试图在良好的互联网上找到答案,但找到的网站/例子很少,概念仍然不清楚。当到达第一次返回,然后到达第二次返回时会发生什么 function getSelected(empid) { let utils = myCompany.Xrm.Utils; let cleanid = utils.cleanGuid(empid); let fetchXml = [ '<f
function getSelected(empid) {
let utils = myCompany.Xrm.Utils;
let cleanid = utils.cleanGuid(empid);
let fetchXml = [
'<fetch >',
.....
.....
.....
.....
'</fetch>',
].join('');
let com = myCompany.Xrm.Common;
// ** here:
return com.ExecuteFetch(fetchXml, 'entity', true).then(function(result) {
let selected = [];
result.forEach(function(interesting_topic) {
let id = interesting_topic.id;
selected.push(id);
});
// ** and here:
return selected;
}).catch(function(error) {
console.log(error);
return null;
});
}
函数getSelected(empid){
设utils=myCompany.Xrm.utils;
让cleanid=utils.cleanGuid(empid);
让fetchXml=[
'',
.....
.....
.....
.....
'',
].加入(“”);
让com=myCompany.Xrm.Common;
//**此处:
返回com.ExecuteFetch(fetchXml,'entity',true)。然后返回(函数(结果){
让选定的=[];
result.forEach(函数(有趣的主题){
设id=interest_topic.id;
已选择。推送(id);
});
//**这里:
返回选中的;
}).catch(函数(错误){
console.log(错误);
返回null;
});
}
这些不是“嵌套返回”,它们各自从不同的函数返回
第一个返回com.ExecuteFetch()
的结果,这是一个承诺
。因此,getSelected()
函数返回一个Promise
。此时,该功能完成。它已经恢复了它的价值
稍后,当承诺
被解析时,观察到该结果的任何内容都将看到该承诺的解析返回所选
中的任何内容。例如,如果调用代码执行以下操作:
let result = await getSelected(someValue);
console.log(result);
然后,result
将是所选的返回值。或者,如果await
不是该上下文中的选项,则可以使用代码中显示的相同。然后()
结构:
getSelected(someValue).then(function (result) {
console.log(result);
});
在这两种情况下,getSelected()
返回一个Promise
,而解析该Promise的回调函数返回一个值。不同的函数,不同的返回。这些不是“嵌套返回”,它们各自从不同的函数返回
第一个返回com.ExecuteFetch()
的结果,这是一个承诺
。因此,getSelected()
函数返回一个Promise
。此时,该功能完成。它已经恢复了它的价值
稍后,当承诺
被解析时,观察到该结果的任何内容都将看到该承诺的解析返回所选
中的任何内容。例如,如果调用代码执行以下操作:
let result = await getSelected(someValue);
console.log(result);
然后,result
将是所选的返回值。或者,如果await
不是该上下文中的选项,则可以使用代码中显示的相同。然后()
结构:
getSelected(someValue).then(function (result) {
console.log(result);
});
在这两种情况下,getSelected()
返回一个Promise
,而解析该Promise的回调函数返回一个值。不同的功能,不同的回报