javascript - Node js:在同一个文件中调用异步函数
问题描述
我在一个文件中定义了一个函数,它调用一个异步函数和一个普通函数。我以这种方式定义了它们
const cms_service = {
fetchSinglePost: function(post){
const image = await cms_service.fetchImageData(post)
let single_post = {
post: cms_service.fetchPostData(post),
image: image
}
return single_post
},
fetchPostData: function (post) {
var post_response = {
id: post.data[0].id
}
return post_response
},
fetchImageData: async function (post) {
let storyplay_response = {}
if(typeof post.data[0].tmc_storyplay[0] !== 'undefined' && post.data[0].tmc_storyplay[0]){
const storyplay = await axios.get(cms_service_url+"tmc_storyplay/"+post.data[0].tmc_storyplay[0], requestHeader);
storyplay_response = {
id: storyplay.data.id
}
}
return storyplay_response
}
}
module.exports = cms_service;
但它给我一个错误说
TypeError:this.fetchPostData 不是函数
我该如何纠正?
解决方案
this
关键字在这种情况下没有意义。让我们尝试通过包装对象名称来重写,如下所示:
const yourObj = {
foo: () => 1,
bar: () => yourObj.foo(),
}
module.exports = yourObject;
推荐阅读
- python - Pyinstaller problem : i created an exe with it but when it fails to be excuted
- jenkins - 在 Jenkins 作业中从 build.sbt 设置变量的值
- python - 使用 numpy 屏蔽数组中的元素
- javascript - How to make a semi circle chart in react?
- python - random API latency spikes for cryptocurrency exchanges
- java - 当我在主活动布局中添加片段并添加它的代码时,应用程序崩溃了
- sql - join with lookup and group by
- python - Create a custom function as a filter in proxy model, django admin
- excel - PasteSpecial 给我一个运行时错误 1004
- python - "non unique" sequence by Id