Да, можно создать асинхронную функцию, которая принимает данные постепенно, без ожидания await для каждой порции данных. Вместо этого можно использовать цикл с оператором await внутри асинхронной функции для обработки каждой порции данных по мере их поступления.
Пример:
```javascript
async function processDataAsync(data) {
for(let i=0; i<data.length; i++) {
console.log(`Processing data: ${data[i]}`);
// Делаем какие-то асинхронные операции с каждой порцией данных
await new Promise(resolve => setTimeout(resolve, 1000));
}
console.log('All data processed');
}
const data = [1, 2, 3, 4, 5];
processDataAsync(data);
```
В этом примере, функция `processDataAsync` принимает данные постепенно и обрабатывает их по одной порции. Оператор await используется внутри цикла, чтобы ожидать завершения асинхронных операций для каждой порции данных.
Чтобы вызвать функцию `ff` с параметрами 1 и 2 из функции g без использования await, можно просто вызвать функцию `ff` без ключевого слова await:
```javascript
async function ff(x, y) {
return x + y;
}
async function g() {
const result = ff(1, 2);
console.log(await result);
}
g();
```
В данном случае, функция `g` вызывает функцию `ff` с параметрами 1 и 2, сохраняет результат в переменную `result` и выводит его после ожидания завершения выполнения функции `ff`.