Şablon gerektiren bir projede çalışıyorum. Ana şablon, veri kaynağını belirten bir içe aktarma özelliğine sahiptir. Daha sonra veriler String.replaceAllMapped kullanılarak okunur ve dizeye eklenir. Aşağıdaki kod, Dosya api ile düzgün çalışır çünkü dosyayı senkronize olarak okumak için readAsStringSync yöntemine sahiptir. Şimdi bir Geleceği döndüren herhangi bir keyfi akıştan okumak istiyorum.String.replaceAllSenkronize olmayan sonuç ile eşleşti
Bu senaryoda nasıl uyumsuz/beklemede çalışırım? Ayrıca, replaceAllMapped için uyumsuz bir değiştirmeyi aradım ancak normal ifadeyle birden çok geçiş gerektirmeyen bir çözüm bulamadım.
String loadImports(String content){
RegExp exp = new RegExp("import=[\"\']([^\"\']*)[\"\']>\\s*<\/");
return content.replaceAllMapped(exp, (match) {
String filePath = match.group(1);
File file = new File(filePath);
String fileContent = file.readAsStringSync();
return ">$fileContent</";
});
}
Örnek kullanım:
print(loadImports("<div import='myfragment.txt'></div>"))
Sana ne yapmak istediğini anlayamadım, yani hangi bölümü öyle mi Gelecek 'ile değiştirmek ister misiniz? 'ReplaceAllMapped' için çağrı içinde okuduğunuz dosya içeriği? –
Tonio
Böyle bir işlevin yerleşik bir sürümü yok, geri bildirim işlevinin Tonio'nunki gibi olduğu gibi uyumsuz olmasını bekleyen bir yazı yazmanız gerekiyor. – lrn