I have a Blazor server side project and I am trying to interop with js. Everything works as expected except this strange (for me) behavior
Inside a js module I have registered an ondrop event and I am assigning the dataTransfer items from the event to a const;
After awaiting the dotnet method the const items is kind of "resetting".
dropzone.addEventListener("drop", dropHandler, false);
const dropHandler = async (event) => {
event.preventDefault();
const items = event.dataTransfer.items;
console.log(items);
// outputs: DataTransferItemList {0: DataTransferItem, length: 1}
dotnetRefObject.InvokeMethodAsync("FireAndForget");
console.log(items);
// outputs: DataTransferItemList {0: DataTransferItem, length: 1}
const result = await dotnetRefObject.invokeMethodAsync('MethodWithReturn');
console.log(result);
//ouputs: true
console.log(items);
//ouputs: DataTransferItemList {length: 0}
}
[JSInvokable]
public async Task<bool> MethodWithReturn()
{
await Task.Delay(1);
return true;
}