我有以下异步代码。
const dlcOrNot = async (file) => {
console.log('Unpacking dlc file...')
if (file.indexOf('.dlc') > -1) {
await decrypt.upload(file, (err, response) => {
const links = response.success.links;
writeFile('urls.txt', String(links).replace(/,/g, '\n'), 'utf-8', () => {
return 'urls.txt';
});
});
} else {
return file;
};
};
我的问题是if语句在运行decrypt.upload()
之前立即返回未定义的值,如何使它等待内部函数返回其值?
答案 0 :(得分:0)
您只能export default class BottomSlider extends Component<IProps> {
public render() {
// const { pathname } = this.props.location
const { Modal } = this.props.store
const { BuildingData } = this.props.store
console.log("==============")
console.log("test", this.props)
return (
<div
className={`bottom-slider ${
pathname !== "/worklist-dynamic"
? "bottom__slider-hide"
: "bottom__slider-align"
}`}
>
<div
className={`bottom__slider ${
pathname === "/worklist-dynamic" ? "bottom__slider-align" : "" // todo add visibility
}`}
>
<div className="building_name">
<p className="building_name-text">test</p>
</div>
</div>
</div>
)
}
}
个诺言。
await
不返回承诺。
用承诺代替它。
This question涵盖了将需要回调的函数转换为返回promise的函数。