您好,我创建了一个登录操作(使用 Vuex),它将用户 jwt 令牌保存到本地存储。在此登录操作中,我调用另一个操作来获取该用户创建的一些帖子。当我在 fetchPosts 操作的获取请求标头中传递令牌时,它工作得完全正常。
async login(context, user){
try {
const res = await api.post('/users/login', user)
localStorage.setItem('jwt', res.data.token)
context.commit('SET_USER', res.data.user)
context.dispatch('fetchPosts')
}catch(err){
console.log(err.response.data)
}
}
async fetchPosts(context){
try {
const res = await api.get('/posts', {
headers: {
Authorization: `Bearer ${localStorage.getItem('jwt')}`
}
})
context.commit('SET_POSTS', res.data)
}catch(err){
console.log(err.response.data)
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好,但问题是我有几个身份验证路线,我不想通过
headers: { Authorization: `Bearer ${localStorage.getItem('jwt')}`}
Run Code Online (Sandbox Code Playgroud)
对于所有 api 请求。
我想在 1 个文件中进行配置,我尝试过,但是当我登录时,我收到未经身份验证的消息,当我检查网络选项卡时,我看到 Bearer null 传递到授权中。请参阅下面我的配置尝试。
import axios from 'axios'
export default axios.create({
baseURL: 'http://localhost:3000',
headers: {
Authorization: `Bearer ${localStorage.getItem('jwt')}`
}
}) …Run Code Online (Sandbox Code Playgroud) var promise = require('child-process-promise').spawn;
promise('some_command_producing_output')
.then(function (result) {
...
})
.catch(function (err) {
...
});
Run Code Online (Sandbox Code Playgroud)
我想要的是在命令在标准输出中生成输出后添加一些处理。所以最后我想创建一个像这样使用的函数:
RunCommandAndProcess('some_command_producing_output')
.then(function (result) {
...
})
.catch(function (err) {
...
});
Run Code Online (Sandbox Code Playgroud)
该函数应该使用子进程承诺中的承诺,等待产生成功结果并返回处理数据的承诺。