[英]Meteor synchronous function call on the client
我正在使用Meteor和React,并且正在尝试从第三方javascript函数返回数据
该函数接受一个回调并返回一个值。 该功能需要几秒钟才能解决
此刻回调函数返回一个未定义的值,但几秒钟后,控制台日志将显示正确的数据
我当前的代码如下
// ON THE CLIENT
// callback function that returns a deviceId
const callback = function( data ) {
// this callback fires with the correct data after a couple of seconds
console.log("Callback ", data);
return data;
};
// async function that calls third party function with callback
async function getDeviceId() {
const res = await captureDeviceId(callback);
return await res;
}
let response = getDeviceId().then( function(value) {
return value;
});
console.log("res", response);
响应返回一个承诺,但没有解决
Return {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
在返回值之前,如何等待函数响应? 我尝试过流星wrapAsync,异步等待和Promises都没有成功。
任何帮助,将不胜感激
干杯,
getDeviceId在此处返回一个Promise (即使您在.then回调内部进行了返回)。 如果您想要ge值,请按照以下步骤操作:
var response;
getDeviceId().then( function(value) {
response = value;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.