Javascript 更新节点js promise函数中变量的值
我试图更新promise函数中变量的值。我做错了什么Javascript 更新节点js promise函数中变量的值,javascript,node.js,Javascript,Node.js,我试图更新promise函数中变量的值。我做错了什么 var data=“valueoutside”; readFile(filePath).then(function()){ data=“新值”; } ); 控制台日志(数据); //将“valueoutside”显示为输出,而不是“new value”readFile是异步的,因此在readFile有机会完成运行和更新值之前调用console.log(data) 将您的代码更改为此,它将工作: var data="valueoutside"
var data=“valueoutside”;
readFile(filePath).then(function()){
data=“新值”;
}
);
控制台日志(数据);
//将“valueoutside”显示为输出,而不是“new value”
readFile
是异步的,因此在readFile
有机会完成运行和更新值之前调用console.log(data)
将您的代码更改为此,它将工作:
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function() {
data="new value";
console.log(data);
});
另一种选择是使用同步调用:
var data="valueoutside";
var contents = wb.xlsx.readFileSync(filePath);
data="new value";
console.log(data);
readFile
是异步的,因此在readFile
有机会完成运行和更新值之前调用console.log(data)
将您的代码更改为此,它将工作:
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function() {
data="new value";
console.log(data);
});
另一种选择是使用同步调用:
var data="valueoutside";
var contents = wb.xlsx.readFileSync(filePath);
data="new value";
console.log(data);
将
console.log(data)
移动到处理程序中,然后
处理程序,您将看到更新的值
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function(){
data="new value";
console.log(data);
});
一旦承诺得到解决,
then
处理程序中的函数将执行。将控制台。日志(数据)
移动到then
处理程序中,您将看到更新的值
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function(){
data="new value";
console.log(data);
});
一旦承诺得到解决,
处理程序中的函数将执行。ReadFile是异步函数。所以,您应该先编写console.log,然后再编写函数
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function(){
data="new value";
console.log(data);
});
ReadFile是异步函数。所以,您应该先编写console.log,然后再编写函数
var data="valueoutside";
wb.xlsx.readFile(filePath).then(function(){
data="new value";
console.log(data);
});
readFile
是异步的,因此控制台。log
在之前执行,然后
被激发readFile
是异步的,因此控制台。log
在之前执行,然后
被激发