如何等到 navigator.notification.prompt() 输入已给出

How to wait until navigator.notification.prompt() input has been given

我正在使用 Cordova 应用程序嵌入 React 应用程序。在某个时刻,用户连接到相机,当检测到二维码时会出现通知。我希望代码执行等到用户输入 his/her 回答“Yes/No”,但我无法让它工作。通知提示消息按预期工作。

我需要它以某种方式暂停,就像在 async function 中一样(例如 prompt 会)。在用户在屏幕中选择 Yes/No 之前,我如何暂停代码执行?我想有一些 async/await 但看不到哪里...到目前为止我已经尝试失败了:

let test = null;
let input2 = null;
notification = navigator.notification.prompt("Do you know this QR code?",
     async function(input) {
     input2 = input;
     test = await NotificationFunction(input, Camera_content);
     console.log(test)
     console.log('input2')
     return [test, input2]
     });

let test2= await notification
console.log(test2)
console.log(notification)
console.log(await test)

非常感谢!

也许你可以使用这样的东西:

const promise = new Promise((resolve, reject) => {
  navigator.notification.prompt(
    'Do you know this QR code?',
    async function (input) {
      test = await NotificationFunction(input, Camera_content);
      resolve([test, input]);
    },
  );
});

const [test, input] = await promise

也许这可以帮助 https://javascript.info/promisify