我试图理解为什么此代码返回“ Promise {未决}”。
const reduceDirections = (str) => {
str = str.replace(/northsouth|southnorth|eastwest|westeast/ig,'')
if (str.search(/northsouth|southnorth|eastwest|westeast/ig) === -1) {
str = str.replace(/south|north|west|east/gi,'$& ').replace(/(^\s+|\s+$)/,'')
console.log(str)
return str
} else {
reduceDirections(str)
}
}
async function start(arr) {
str = arr.join('')
let res = await reduceDirections(str)
return Promise.resolve(res)
}
console.log(start(["NORTH","SOUTH","EAST","WEST","NORTH","WEST"]))
当我从reduceDirections()函数中console.log(str)
时,我可以看到我想要的结果。但是,当我(以后一行)return str
时,我却收到了“待处理的承诺”
很抱歉,我不了解Promises和async等待。我尝试过阅读mdn并观看视频,但是我看不到如何转移它们显示的问题。预先感谢您的帮助!