在 javascript 函数中使用 return 的问题
problem with using return in javascript function
我正在使用 Esri ArcMap API
我做了一个函数来查询层和 returns 结果,
我想让这个函数 return 成为在制作小部件时使用它的结果。
function queryLayer(filterType,value){
var x
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
schoolLayer.queryFeatures(queryParams).then(function (results) {
x = results.features
});
return x
}
这是一个承诺,承诺是异步的。
schoolLayer.queryFeatures(queryParams).then(function (results) {
x = results.features
});
您可以 return 您的解析函数中的结果:
function queryLayer(filterType,value){
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
schoolLayer.queryFeatures(queryParams).then(function (results) {
return results.features;
});
}
如果这不起作用,您可以 return 整个承诺:
function queryLayer(filterType,value){
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
return schoolLayer.queryFeatures(queryParams);
}
并像这样使用它:
queryLayer(filterType,value).then(funtction(response){
// do whatever you want to do with your Response ...
}
我正在使用 Esri ArcMap API 我做了一个函数来查询层和 returns 结果, 我想让这个函数 return 成为在制作小部件时使用它的结果。
function queryLayer(filterType,value){
var x
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
schoolLayer.queryFeatures(queryParams).then(function (results) {
x = results.features
});
return x
}
这是一个承诺,承诺是异步的。
schoolLayer.queryFeatures(queryParams).then(function (results) {
x = results.features
});
您可以 return 您的解析函数中的结果:
function queryLayer(filterType,value){
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
schoolLayer.queryFeatures(queryParams).then(function (results) {
return results.features;
});
}
如果这不起作用,您可以 return 整个承诺:
function queryLayer(filterType,value){
schoolLayer.definitionExpression = filterType+" = '" + value + "'";
const queryParams = schoolLayer.createQuery();
queryParams.where = filterType +" = '" + value + "'";
queryParams.outFields = [filterType]
return schoolLayer.queryFeatures(queryParams);
}
并像这样使用它:
queryLayer(filterType,value).then(funtction(response){
// do whatever you want to do with your Response ...
}