How to change the order of asset import

I want to change the texture settings during OnPreprocessTexture via ScriptableObject, I saved AssetImporter with ScriptableObject . However, there is no guarantee that ScriptableObject and its referenced AssetImporter texture will be imported before the texture want to change.
Is there any way to ensure that the specified assets are imported first?

The asset at Assets/Scripts/Frameworks/Editor/ResourceSystem/AssetPostProcess/CacheData/TextureData/b6874717cb2d77944b9b69ec6b1bf06c/texture_template.png has been scheduled for reimport during the Refresh loop and Loading of it has been attempted.
Doing this can lead to the AssetDatabase returning two versions of the same asset.
Please ensure that code which attempts to reimport this asset does not run while the editor is Refreshing.
You can do so by checking the value of EditorApplication.isUpdating
UnityEditor.AssetDatabase:FindAssets (string,string[])

keep track of what you load, then once is finished do the rest of the stuff.

check some youtube tutorials on how to verify when loads starts and finish, usually if you search for loading bars tutorials they have this code as is necessary to calculate the loading bar progress