apis.js代码如下
import $ from 'jquery'
let result = {
news: []
}
$.ajax({
url: 'http://sayer.dev/index.php?s=/article/get_lists',
method: 'get',
success: res => {
result.news = res.data
}
})
module.exports = result
模板main.pug内容 如下
-const results = require('../core/apis.js')
-console.log(results)
-console.log(results.news)
两次输出的结果如下:
第一次打印的时候 有news的这个数组的 第二次就没有了请问是什么问题
你这很明显的异步问题啊,ajax发起请求是异步的,输出result的时候ajax请求还没完成,就输出result了。
解决办法
这个省略,自己改造
module.exports = async function () {
let result = {
news: []
}
await $.ajax({
url: 'http://sayer.dev/index.php?s=/article/get_lists',
method: 'get',
success: res => {
result.news = res.data
}
})
return result;
}