Допустимый способ сделать это (но кажется слишком запутанным):
let arr = [1,2,3];
function filter(num) {
return new Promise((res, rej) => {
setTimeout(() => {
if( num === 3 ) {
res(num);
} else {
rej();
}
}, 1);
});
}
async function check(num) {
try {
await filter(num);
return true;
} catch(err) {
return false;
}
}
(async function() {
for( let num of arr ) {
let res = await check(num);
if(!res) {
let index = arr.indexOf(num);
arr.splice(index, 1);
}
}
})();
Опять же, кажется слишком запутанным.
Если ваша строка подключения настроена как обычный ключ установки приложения, например:
"MyConnection": "Server=localhost;Database=MyDb;User Id=test;Password=test;"
Затем, когда вы передаете IConfiguration
.NET Core в ваш ServiceStack AppHost:
app.UseServiceStack(new AppHost
{
AppSettings = new NetCoreAppSettings(Configuration)
});
[1111 ] Вы сможете получить его как обычную настройку приложения, например:
var myConn = AppSettings.GetString("MyConnection");
Если вместо этого вы настроите его в группе «ConnectionStrings», например:
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDb;User Id=test;Password=test;"
},
Тогда Вы можете получить к нему доступ из объекта IConfiguration
, например:
var config = (NetCoreAppSettings) AppSettings;
var myConn = config.Configuration.GetConnectionString("DefaultConnection");
В качестве альтернативы вы также можете получить к нему доступ через обозначение иерархического ключа config , например:
var myConn = AppSettings.GetString("ConnectionStrings:DefaultConnection");