有没有办法通过 Nativescript 中的 handleOpenURL 清除 AppURL?

is there a way to clear AppURL via handleOpenURL in Nativescript?

应用挂起再恢复后,appURL 值仍保留在应用范围内。

在 Nativescript 应用程序中初始化的 App 组件收到 appURL 后,我正在尝试重置它的值

import { handleOpenURL, AppURL } from 'nativescript-urlhandler';

ngOnInit() {
handleOpenURL((appURL: AppURL) => {
console.log('Got the following appURL ', appURL);
var urlEncodedString = appURL.toString().split('out=')[1];
var json = JSON.parse(decodeURIComponent(urlEncodedString));
var token = json["token"].toString();
            }
}

或者如果可以在应用恢复时清除 Nativescript 中的应用缓存

求助!需要

有什么理由不能将其定义为整个函数,而不是函数表达式?

从我对JS的原始理解来看,表达式是temporal/ephemeral。尝试更改临时值并不符合该表达式的隐含期望。

你最好做一个函数,当传递一个参数时,它在创建的函数对象的每个实例上都是唯一的。

function doThing(parameter){ do_operations_with(parameter) }

我相信对函数的每次调用都会提升函数,创建具有自己的子命名空间的对象,并且对于传递的每个参数,它们对于该函数运行时的命名空间都是唯一的。

您可以在处理后将意图数据设置为空。

handleOpenURL((appURL: AppURL) => {
 ...
 ...
 // Once you process the app url, set intent data to null
 if (application.android) {
     const activity = application.android.foregroundActivity || application.android.startActivity;
     if (activity) {
         const intent = activity.getIntent();
         if (intent) {
             intent.setData(null);
         }
     }
  }
});