我正在使用 One-signal API 进行通知。我想从那里的 API 获取用户 ID,下面是我的代码。
function setNotificationPermission()
{
var id ;
try
{
OneSignal.push(["getUserId", function(userId) {
console.log("OneSignal User ID inside:"+ userId);
id = userId;
}]);
console.log("OneSignal User ID outside:"+ id);
window.parent.postMessage("Player ID"+id, "http://example.com");
}
catch(e){}
}
我得到的答案如下
OneSignal User ID outside:
OneSignal User ID inside: f39fd4f1-406f-4c96-8365-5a471f77da3d
因为我调用一个信号的方法是异步的,所以我的 window.parent.postMessage() 方法在得到响应之前被执行。请告诉我如何处理?表示如何等到我的 OneSignal.push() 完全接听电话